reports-service, classes for reports (not complete)
This commit is contained in:
parent
2fc1528da3
commit
fd031f9bd2
20 changed files with 1044 additions and 48 deletions
|
|
@ -16,6 +16,6 @@ public class ReportsServiceApplication {
|
|||
System.exit(-1);
|
||||
}
|
||||
ReportsService reportsService = new ReportsService();
|
||||
reportsService.writeXML(null);
|
||||
reportsService.writeXML();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,85 @@
|
|||
package ru.spcex.clearing.reports_service.reports;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import com.thoughtworks.xstream.annotations.XStreamConverter;
|
||||
import ru.spcex.clearing.reports_service.xml_test.FormattedLocalDateConverter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Общая шапка (атрибуты) для всех отчетов
|
||||
*/
|
||||
public class AbstractReport {
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("version")
|
||||
private String version;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("code")
|
||||
private String code;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("name")
|
||||
private String name;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("startDate")
|
||||
@XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
|
||||
private LocalDate startDate;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("endDate")
|
||||
@XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
|
||||
private LocalDate endDate;
|
||||
|
||||
|
||||
public AbstractReport(String version, String code, String name, LocalDate startDate, LocalDate endDate) {
|
||||
this.version = version;
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.startDate = startDate;
|
||||
this.endDate = endDate;
|
||||
}
|
||||
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public LocalDate getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public void setStartDate(LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public LocalDate getEndDate() {
|
||||
return endDate;
|
||||
}
|
||||
|
||||
public void setEndDate(LocalDate endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_1;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420315_P1 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("rows")
|
||||
private final List<Info_0420315_P1> rows = new ArrayList<>();
|
||||
|
||||
public ReportBR_0420315_P1(LocalDate startDate,
|
||||
LocalDate endDate) {
|
||||
super("0.0.1",
|
||||
"0420315",
|
||||
"Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
public List<Info_0420315_P1> getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
@XStreamAlias("row")
|
||||
public static class Info_0420315_P1 {
|
||||
@XStreamAlias("company_id")
|
||||
@XStreamAsAttribute
|
||||
private String companyId;
|
||||
|
||||
@XStreamAlias("company_fullName")
|
||||
@XStreamAsAttribute
|
||||
private String companyFullName;
|
||||
|
||||
@XStreamAlias("listing_market")
|
||||
@XStreamAsAttribute
|
||||
private String listingMarket;
|
||||
|
||||
@XStreamAlias("contract_qty")
|
||||
@XStreamAsAttribute
|
||||
private String contractQty;
|
||||
|
||||
@XStreamAlias("liabilities_amount")
|
||||
@XStreamAsAttribute
|
||||
private String liabilitiesAmount;
|
||||
|
||||
public Info_0420315_P1(String companyId,
|
||||
String companyFullName,
|
||||
String listingMarket,
|
||||
String contractQty,
|
||||
String liabilitiesAmount) {
|
||||
this.companyId = companyId;
|
||||
this.companyFullName = companyFullName;
|
||||
this.listingMarket = listingMarket;
|
||||
this.contractQty = contractQty;
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_1;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420315_P2 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("total")
|
||||
private final Info_0420315_P2 total;
|
||||
|
||||
public ReportBR_0420315_P2(LocalDate startDate, LocalDate endDate, String contractQty, String liabilitiesAmount) {
|
||||
super("0.0.1",
|
||||
"0420315",
|
||||
"Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период",
|
||||
startDate,
|
||||
endDate);
|
||||
total = new Info_0420315_P2(contractQty, liabilitiesAmount);
|
||||
}
|
||||
|
||||
public Info_0420315_P2 getTotal() {
|
||||
return total;
|
||||
}
|
||||
|
||||
|
||||
public static class Info_0420315_P2 {
|
||||
@XStreamAlias("contract_qty")
|
||||
@XStreamAsAttribute
|
||||
private String contractQty;
|
||||
|
||||
@XStreamAlias("liabilities_amount")
|
||||
@XStreamAsAttribute
|
||||
private String liabilitiesAmount;
|
||||
|
||||
|
||||
public Info_0420315_P2(String contractQty, String liabilitiesAmount) {
|
||||
this.contractQty = contractQty;
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
|
||||
public String getContractQty() {
|
||||
return contractQty;
|
||||
}
|
||||
|
||||
public void setContractQty(String contractQty) {
|
||||
this.contractQty = contractQty;
|
||||
}
|
||||
|
||||
public String getLiabilitiesAmount() {
|
||||
return liabilitiesAmount;
|
||||
}
|
||||
|
||||
public void setLiabilitiesAmount(String liabilitiesAmount) {
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_2;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420317 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("rows")
|
||||
private final List<Info_0420317> rows = new ArrayList<>();
|
||||
|
||||
public ReportBR_0420317(LocalDate startDate, LocalDate endDate) {
|
||||
super("0.0.1",
|
||||
"0420317",
|
||||
"Сведения о предоставлении, прекращении, приостановке," +
|
||||
" возобновлении допуска к клиринговому обслуживанию",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
public List<Info_0420317> getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
@XStreamAlias("row")
|
||||
public static class Info_0420317 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("relation_supplierId")
|
||||
private String relationSupplierId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("relation_serviceId")
|
||||
private String relationServiceId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("relation_serviceStatus")
|
||||
private String relationServiceStatus;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("relation_updatedAt")
|
||||
private String relationUpdatedAt;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("company_fullName")
|
||||
private String companyFullName;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companySymbol_code")
|
||||
private String companySymbolCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companyInfo_countryCode")
|
||||
private String companyInfoCountryCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("relation_comment")
|
||||
private String relationComment;
|
||||
|
||||
public Info_0420317(String relationSupplierId,
|
||||
String relationServiceId,
|
||||
String relationServiceStatus,
|
||||
String relationUpdatedAt,
|
||||
String companyFullName,
|
||||
String companySymbolCode,
|
||||
String companyInfoCountryCode,
|
||||
String relationComment) {
|
||||
this.relationSupplierId = relationSupplierId;
|
||||
this.relationServiceId = relationServiceId;
|
||||
this.relationServiceStatus = relationServiceStatus;
|
||||
this.relationUpdatedAt = relationUpdatedAt;
|
||||
this.companyFullName = companyFullName;
|
||||
this.companySymbolCode = companySymbolCode;
|
||||
this.companyInfoCountryCode = companyInfoCountryCode;
|
||||
this.relationComment = relationComment;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_3;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420318 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("rows")
|
||||
private final List<Info_0420318> rows = new ArrayList<>();
|
||||
|
||||
public ReportBR_0420318(LocalDate startDate, LocalDate endDate) {
|
||||
super("0.0.3",
|
||||
"0420318",
|
||||
"Сведения о неисполненных обязательствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
public List<Info_0420318> getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
@XStreamAlias("row")
|
||||
public static class Info_0420318 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
||||
private String liabilitiesClaimsAssetsFullName;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("CompanySymbols_code")
|
||||
private String companySymbolsCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_countryCode")
|
||||
private String liabilitiesClaimsAssetsCountryCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_settlementDate")
|
||||
private String liabilitiesClaimsAssetsSettlementDate;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_accountType")
|
||||
private String liabilitiesClaimsAssetsAccountType;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_Contract")
|
||||
private String liabilitiesClaimsAssetsContract;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsMoney_currencyCode")
|
||||
private String liabilitiesClaimsMoneyCurrencyCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesAmount_amount")
|
||||
private String liabilitiesAmountAmount;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsMoney_name")
|
||||
private String liabilitiesClaimsMoneyName;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_liabilities")
|
||||
private String liabilitiesClaimsAssetsLiabilities;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_comment")
|
||||
private String liabilitiesClaimsAssetsComment;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companySymbol_value")
|
||||
private String companySymbolValue;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_fullNames")
|
||||
private String liabilitiesClaimsAssetsFullNames;
|
||||
|
||||
public Info_0420318(String liabilitiesClaimsAssetsFullName,
|
||||
String companySymbolsCode,
|
||||
String liabilitiesClaimsAssetsCountryCode,
|
||||
String liabilitiesClaimsAssetsSettlementDate,
|
||||
String liabilitiesClaimsAssetsAccountType,
|
||||
String liabilitiesClaimsAssetsContract,
|
||||
String liabilitiesClaimsMoneyCurrencyCode,
|
||||
String liabilitiesAmountAmount,
|
||||
String liabilitiesClaimsMoneyName,
|
||||
String liabilitiesClaimsAssetsLiabilities,
|
||||
String liabilitiesClaimsAssetsComment,
|
||||
String companySymbolValue,
|
||||
String liabilitiesClaimsAssetsFullNames) {
|
||||
this.liabilitiesClaimsAssetsFullName = liabilitiesClaimsAssetsFullName;
|
||||
this.companySymbolsCode = companySymbolsCode;
|
||||
this.liabilitiesClaimsAssetsCountryCode = liabilitiesClaimsAssetsCountryCode;
|
||||
this.liabilitiesClaimsAssetsSettlementDate = liabilitiesClaimsAssetsSettlementDate;
|
||||
this.liabilitiesClaimsAssetsAccountType = liabilitiesClaimsAssetsAccountType;
|
||||
this.liabilitiesClaimsAssetsContract = liabilitiesClaimsAssetsContract;
|
||||
this.liabilitiesClaimsMoneyCurrencyCode = liabilitiesClaimsMoneyCurrencyCode;
|
||||
this.liabilitiesAmountAmount = liabilitiesAmountAmount;
|
||||
this.liabilitiesClaimsMoneyName = liabilitiesClaimsMoneyName;
|
||||
this.liabilitiesClaimsAssetsLiabilities = liabilitiesClaimsAssetsLiabilities;
|
||||
this.liabilitiesClaimsAssetsComment = liabilitiesClaimsAssetsComment;
|
||||
this.companySymbolValue = companySymbolValue;
|
||||
this.liabilitiesClaimsAssetsFullNames = liabilitiesClaimsAssetsFullNames;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_4;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420314_P1 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("rows")
|
||||
private final List<Info_0420314_P1> rows = new ArrayList<>();
|
||||
|
||||
public ReportBR_0420314_P1(LocalDate startDate, LocalDate endDate) {
|
||||
super("0.0.1",
|
||||
"0420314",
|
||||
"Сведения об УК и операциях, проведенных по торговым счетам",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
public List<Info_0420314_P1> getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
@XStreamAlias("partOne")
|
||||
public static class Info_0420314_P1 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("paymentInstruction_senderId")
|
||||
private String paymentInstructionSenderId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("profileDocument_id")
|
||||
private String profileDocumentId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("company_fullName")
|
||||
private String companyFullName;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companySymbol_code")
|
||||
private String companySymbolCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companySymbol_value")
|
||||
private String companySymbolValue;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("clearingMemberCategory_clearingMemberCategory")
|
||||
private String clearingMemberCategoryClearingMemberCategory;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("profileDocument_documentTypeAndValidFromDate")
|
||||
private String profileDocumentDocumentTypeAndValidFromDate;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity")
|
||||
private String liabilitiesClaimsAssetsLiabilitiesQuantity;
|
||||
|
||||
public Info_0420314_P1(String paymentInstructionSenderId,
|
||||
String profileDocumentId,
|
||||
String companyFullName,
|
||||
String companySymbolCode,
|
||||
String companySymbolValue,
|
||||
String clearingMemberCategoryClearingMemberCategory,
|
||||
String profileDocumentDocumentTypeAndValidFromDate,
|
||||
String liabilitiesClaimsAssetsLiabilitiesQuantity) {
|
||||
this.paymentInstructionSenderId = paymentInstructionSenderId;
|
||||
this.profileDocumentId = profileDocumentId;
|
||||
this.companyFullName = companyFullName;
|
||||
this.companySymbolCode = companySymbolCode;
|
||||
this.companySymbolValue = companySymbolValue;
|
||||
this.clearingMemberCategoryClearingMemberCategory = clearingMemberCategoryClearingMemberCategory;
|
||||
this.profileDocumentDocumentTypeAndValidFromDate = profileDocumentDocumentTypeAndValidFromDate;
|
||||
this.liabilitiesClaimsAssetsLiabilitiesQuantity = liabilitiesClaimsAssetsLiabilitiesQuantity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_4;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420314_P2 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("rows")
|
||||
private final List<Info_0420314_P2> rows = new ArrayList<>();
|
||||
|
||||
public ReportBR_0420314_P2(LocalDate startDate, LocalDate endDate) {
|
||||
super("0.0.1",
|
||||
"0420314",
|
||||
"Сведения об УК и операциях, проведенных по торговым счетам",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
public List<Info_0420314_P2> getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
@XStreamAlias("partTwo")
|
||||
public static class Info_0420314_P2 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("paymentInstruction_senderId")
|
||||
private String paymentInstructionSenderId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("profileDocument_id")
|
||||
private String profileDocumentId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("accountBalance_openBalanceAmount")
|
||||
private String accountBalanceOpenBalanceAmount;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("paymentInstruction_creditLeg_amount")
|
||||
private String paymentInstructionCreditLegAmount;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("paymentInstruction_debitLeg_amount")
|
||||
private String paymentInstructionDebitLegAmount;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("accountBalance_closeBalanceAmount")
|
||||
private String accountBalanceCloseBalanceAmount;
|
||||
|
||||
public Info_0420314_P2(String paymentInstructionSenderId,
|
||||
String profileDocumentId,
|
||||
String accountBalanceOpenBalanceAmount,
|
||||
String paymentInstructionCreditLegAmount,
|
||||
String paymentInstructionDebitLegAmount,
|
||||
String accountBalanceCloseBalanceAmount) {
|
||||
this.paymentInstructionSenderId = paymentInstructionSenderId;
|
||||
this.profileDocumentId = profileDocumentId;
|
||||
this.accountBalanceOpenBalanceAmount = accountBalanceOpenBalanceAmount;
|
||||
this.paymentInstructionCreditLegAmount = paymentInstructionCreditLegAmount;
|
||||
this.paymentInstructionDebitLegAmount = paymentInstructionDebitLegAmount;
|
||||
this.accountBalanceCloseBalanceAmount = accountBalanceCloseBalanceAmount;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P1 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partOne")
|
||||
private final Info_0420312_P1 partOne;
|
||||
|
||||
public ReportBR_0420312_P1(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsAssetsFullName,
|
||||
String companySymbolCode,
|
||||
String companySymbolValue,
|
||||
String companyInfoCountryCode,
|
||||
String clearingMemberCategoryClearingMemberCategory) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partOne = new Info_0420312_P1(liabilitiesClaimsAssetsCompanyId,
|
||||
liabilitiesClaimsAssetsFullName,
|
||||
companySymbolCode,
|
||||
companySymbolValue,
|
||||
companyInfoCountryCode,
|
||||
clearingMemberCategoryClearingMemberCategory);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P1 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_companyId")
|
||||
private String liabilitiesClaimsAssetsCompanyId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
||||
private String liabilitiesClaimsAssetsFullName;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companySymbol_code")
|
||||
private String companySymbolCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companySymbol_value")
|
||||
private String companySymbolValue;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("companyInfo_countryCode")
|
||||
private String companyInfoCountryCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("clearingMemberCategory_clearingMemberCategory")
|
||||
private String clearingMemberCategoryClearingMemberCategory;
|
||||
|
||||
|
||||
public Info_0420312_P1(String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsAssetsFullName,
|
||||
String companySymbolCode,
|
||||
String companySymbolValue,
|
||||
String companyInfoCountryCode,
|
||||
String clearingMemberCategoryClearingMemberCategory) {
|
||||
this.liabilitiesClaimsAssetsCompanyId = liabilitiesClaimsAssetsCompanyId;
|
||||
this.liabilitiesClaimsAssetsFullName = liabilitiesClaimsAssetsFullName;
|
||||
this.companySymbolCode = companySymbolCode;
|
||||
this.companySymbolValue = companySymbolValue;
|
||||
this.companyInfoCountryCode = companyInfoCountryCode;
|
||||
this.clearingMemberCategoryClearingMemberCategory = clearingMemberCategoryClearingMemberCategory;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P10 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partThree")
|
||||
private final Info_0420312_P10 partTen;
|
||||
|
||||
public ReportBR_0420312_P10(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String currencyId,
|
||||
String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsMoneyCurrencyCode,
|
||||
String liabilitiesClaimsAssetsLiabilities) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partTen = new Info_0420312_P10(currencyId,
|
||||
liabilitiesClaimsAssetsCompanyId,
|
||||
liabilitiesClaimsMoneyCurrencyCode,
|
||||
liabilitiesClaimsAssetsLiabilities);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P10 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("currency_id")
|
||||
private String currencyId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_companyId")
|
||||
private String liabilitiesClaimsAssetsCompanyId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsMoney_currencyCode")
|
||||
private String liabilitiesClaimsMoneyCurrencyCode;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_liabilities")
|
||||
private String liabilitiesClaimsAssetsLiabilities;
|
||||
|
||||
public Info_0420312_P10(String currencyId,
|
||||
String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsMoneyCurrencyCode,
|
||||
String liabilitiesClaimsAssetsLiabilities) {
|
||||
this.currencyId = currencyId;
|
||||
this.liabilitiesClaimsAssetsCompanyId = liabilitiesClaimsAssetsCompanyId;
|
||||
this.liabilitiesClaimsMoneyCurrencyCode = liabilitiesClaimsMoneyCurrencyCode;
|
||||
this.liabilitiesClaimsAssetsLiabilities = liabilitiesClaimsAssetsLiabilities;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P2 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partTwo")
|
||||
private final Info_0420312_P2 partTwo;
|
||||
|
||||
public ReportBR_0420312_P2(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsAssetsLiabilities) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partTwo = new Info_0420312_P2(liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsAssetsLiabilities);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P2 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_companyId")
|
||||
private String liabilitiesClaimsAssetsCompanyId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_liabilities")
|
||||
private String liabilitiesClaimsAssetsLiabilities;
|
||||
|
||||
public Info_0420312_P2(String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsAssetsLiabilities) {
|
||||
this.liabilitiesClaimsAssetsCompanyId = liabilitiesClaimsAssetsCompanyId;
|
||||
this.liabilitiesClaimsAssetsLiabilities = liabilitiesClaimsAssetsLiabilities;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P3 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partThree")
|
||||
private final Info_0420312_P3 partThree;
|
||||
|
||||
public ReportBR_0420312_P3(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsAssetsLiabilities) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partThree = new Info_0420312_P3(liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsAssetsLiabilities);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P3 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_companyId")
|
||||
private String liabilitiesClaimsAssetsCompanyId;
|
||||
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
||||
private String liabilitiesClaimsAssetsLiabilities;
|
||||
|
||||
|
||||
public Info_0420312_P3(String liabilitiesClaimsAssetsCompanyId,
|
||||
String liabilitiesClaimsAssetsLiabilities) {
|
||||
this.liabilitiesClaimsAssetsCompanyId = liabilitiesClaimsAssetsCompanyId;
|
||||
this.liabilitiesClaimsAssetsLiabilities = liabilitiesClaimsAssetsLiabilities;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P4 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partThree")
|
||||
private final Info_0420312_P4 partFour;
|
||||
|
||||
public ReportBR_0420312_P4(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesAmount) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partFour = new Info_0420312_P4(liabilitiesAmount);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P4 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilities_amount")
|
||||
private String liabilitiesAmount;
|
||||
|
||||
public Info_0420312_P4(String liabilitiesAmount) {
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P5 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partThree")
|
||||
private final Info_0420312_P5 partFive;
|
||||
|
||||
public ReportBR_0420312_P5(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesAmount) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partFive = new Info_0420312_P5(liabilitiesAmount);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P5 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilities_amount")
|
||||
private String liabilitiesAmount;
|
||||
|
||||
public Info_0420312_P5(String liabilitiesAmount) {
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P6 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partThree")
|
||||
private final Info_0420312_P6 partSix;
|
||||
|
||||
public ReportBR_0420312_P6(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesAmount) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partSix = new Info_0420312_P6(liabilitiesAmount);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P6 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilities_amount")
|
||||
private String liabilitiesAmount;
|
||||
|
||||
public Info_0420312_P6(String liabilitiesAmount) {
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package ru.spcex.clearing.reports_service.reports.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
import ru.spcex.clearing.reports_service.reports.AbstractReport;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@XStreamAlias("report")
|
||||
public class ReportBR_0420312_P8 extends AbstractReport {
|
||||
|
||||
@XStreamAlias("partThree")
|
||||
private final Info_0420312_P8 partEight;
|
||||
|
||||
public ReportBR_0420312_P8(LocalDate startDate,
|
||||
LocalDate endDate,
|
||||
String liabilitiesAmount) {
|
||||
super("0.0.5",
|
||||
"0420312",
|
||||
"Сведения о клиринговом обеспечении",
|
||||
startDate,
|
||||
endDate);
|
||||
partEight = new Info_0420312_P8(liabilitiesAmount);
|
||||
}
|
||||
|
||||
public static class Info_0420312_P8 {
|
||||
@XStreamAsAttribute
|
||||
@XStreamAlias("liabilities_amount")
|
||||
private String liabilitiesAmount;
|
||||
|
||||
public Info_0420312_P8(String liabilitiesAmount) {
|
||||
this.liabilitiesAmount = liabilitiesAmount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +1,89 @@
|
|||
package ru.spcex.clearing.reports_service.services;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.io.AbstractDriver;
|
||||
import ru.spcex.clearing.reports_service.xml_test.ChildElementForWrite;
|
||||
import ru.spcex.clearing.reports_service.xml_test.CustomLocalDateConverter;
|
||||
import ru.spcex.clearing.reports_service.xml_test.RootElementForWrite;
|
||||
import com.thoughtworks.xstream.io.naming.NoNameCoder;
|
||||
import com.thoughtworks.xstream.io.xml.XppDriver;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.spcex.clearing.reports_service.reports.bt_17_1.ReportBR_0420315_P1;
|
||||
import ru.spcex.clearing.reports_service.reports.bt_17_1.ReportBR_0420315_P2;
|
||||
import ru.spcex.clearing.reports_service.reports.bt_17_2.ReportBR_0420317;
|
||||
import ru.spcex.clearing.reports_service.reports.bt_17_3.ReportBR_0420318;
|
||||
import ru.spcex.clearing.reports_service.reports.bt_17_4.ReportBR_0420314_P1;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ReportsService {
|
||||
public void writeXML(AbstractDriver driver) {
|
||||
XStream xStream = driver == null ? new XStream() : new XStream(driver);
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
// достаточно только для рутового объекта вызвать обработку аннотаций
|
||||
xStream.processAnnotations(RootElementForWrite.class);
|
||||
xStream.registerConverter(new CustomLocalDateConverter(), -100);
|
||||
public void writeXML() {
|
||||
XStream xStream = new XStream(new XppDriver(new NoNameCoder()));
|
||||
|
||||
xStream.processAnnotations(ReportBR_0420315_P1.class);
|
||||
xStream.processAnnotations(ReportBR_0420315_P2.class);
|
||||
xStream.processAnnotations(ReportBR_0420317.class);
|
||||
xStream.processAnnotations(ReportBR_0420318.class);
|
||||
xStream.processAnnotations(ReportBR_0420314_P1.class);
|
||||
|
||||
ReportBR_0420315_P1 reportBR_0420315_p1 = new ReportBR_0420315_P1(LocalDate.now(), LocalDate.now());
|
||||
ReportBR_0420315_P1.Info_0420315_P1 info_0420315_p1 = new ReportBR_0420315_P1.Info_0420315_P1("companyId",
|
||||
"companyFullName",
|
||||
"listingMarket",
|
||||
"contractorQty",
|
||||
"liabilitiesAmount");
|
||||
reportBR_0420315_p1.getRows().add(info_0420315_p1);
|
||||
log.info("ReportBR_0420315_P1:\n{}\n", xStream.toXML(reportBR_0420315_p1));
|
||||
|
||||
ReportBR_0420315_P2 reportBR_0420315_p2 = new ReportBR_0420315_P2(LocalDate.now(),
|
||||
LocalDate.now(),
|
||||
"contractorQty",
|
||||
"liabilitiesAmount");
|
||||
log.info("ReportBR_0420315_P2:\n{}\n", xStream.toXML(reportBR_0420315_p2));
|
||||
|
||||
ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(LocalDate.now(), LocalDate.now());
|
||||
ReportBR_0420317.Info_0420317 info_0420317 = new ReportBR_0420317.Info_0420317("relationSupplierId",
|
||||
"relationServiceId",
|
||||
"relationServiceStatus",
|
||||
"relationUpdatedAt",
|
||||
"companyFullName",
|
||||
"companySymbolCode",
|
||||
"companyInfoCountryCode",
|
||||
"relationComment");
|
||||
reportBR_0420317.getRows().add(info_0420317);
|
||||
log.info("ReportBR_0420317:\n{}\n", xStream.toXML(reportBR_0420317));
|
||||
|
||||
ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(LocalDate.now(), LocalDate.now());
|
||||
ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
|
||||
"liabilitiesClaimsAssetsFullName",
|
||||
"companySymbolsCode",
|
||||
"liabilitiesClaimsAssetsCountryCode",
|
||||
"liabilitiesClaimsAssetsSettlementDate",
|
||||
"liabilitiesClaimsAssetsAccountType",
|
||||
"liabilitiesClaimsAssetsContract",
|
||||
"liabilitiesClaimsMoneyCurrencyCode",
|
||||
"liabilitiesAmountAmount",
|
||||
"liabilitiesClaimsMoneyName",
|
||||
"liabilitiesClaimsAssetsLiabilities",
|
||||
"liabilitiesClaimsAssetsComment",
|
||||
"companySymbolValue",
|
||||
"liabilitiesClaimsAssetsFullNames");
|
||||
reportBR_0420318.getRows().add(info_0420318);
|
||||
log.info("ReportBR_0420318:\n{}\n", xStream.toXML(reportBR_0420318));
|
||||
|
||||
ReportBR_0420314_P1 reportBR_0420314P1 = new ReportBR_0420314_P1(LocalDate.now(), LocalDate.now());
|
||||
ReportBR_0420314_P1.Info_0420314_P1 info_0420314P1 = new ReportBR_0420314_P1.Info_0420314_P1(
|
||||
"paymentInstructionSenderId",
|
||||
"profileDocumentId",
|
||||
"companyFullName",
|
||||
"companySymbolCode",
|
||||
"companySymbolValue",
|
||||
"clearingMemberCategoryClearingMemberCategory",
|
||||
"profileDocumentDocumentTypeAndValidFromDate",
|
||||
"liabilitiesClaimsAssetsLiabilitiesQuantity"
|
||||
);
|
||||
reportBR_0420314P1.getRows().add(info_0420314P1);
|
||||
log.info("ReportBR_0420314:\n{}\n", xStream.toXML(reportBR_0420314P1));
|
||||
|
||||
RootElementForWrite elementForWrite = new RootElementForWrite();
|
||||
elementForWrite.getTestList().add(new ChildElementForWrite());
|
||||
elementForWrite.getTestList().add(new ChildElementForWrite());
|
||||
String dataXml = xStream.toXML(elementForWrite);
|
||||
|
||||
System.out.println(dataXml);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
package ru.spcex.clearing.reports_service.xml_test;
|
||||
|
||||
import com.thoughtworks.xstream.converters.Converter;
|
||||
import com.thoughtworks.xstream.converters.MarshallingContext;
|
||||
import com.thoughtworks.xstream.converters.UnmarshallingContext;
|
||||
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
|
||||
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
// самый большой минус работы с датами: если у какой то даты отличается формат, для нее нужен кастомный конвертер
|
||||
public class CustomLocalDateConverter implements Converter {
|
||||
private DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
|
||||
@Override
|
||||
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
|
||||
LocalDate date = (LocalDate) source;
|
||||
writer.setValue(formatter.format(date));
|
||||
writer.addAttribute("formatted", "true");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
|
||||
// not implemented (not used)
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConvert(Class type) {
|
||||
return LocalDate.class.isAssignableFrom(type);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package ru.spcex.clearing.reports_service.xml_test;
|
||||
|
||||
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Objects;
|
||||
|
||||
public class FormattedLocalDateConverter extends AbstractSingleValueConverter {
|
||||
private final String DEFAULT_PATTERN = "dd.MM.yyyy";
|
||||
private final DateTimeFormatter formatter;
|
||||
|
||||
public FormattedLocalDateConverter() {
|
||||
formatter = DateTimeFormatter.ofPattern(DEFAULT_PATTERN);
|
||||
}
|
||||
|
||||
public FormattedLocalDateConverter(String pattern) {
|
||||
formatter = DateTimeFormatter.ofPattern(Objects.requireNonNullElse(pattern, DEFAULT_PATTERN));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConvert(Class type) {
|
||||
return LocalDate.class.isAssignableFrom(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object fromString(String str) {
|
||||
// not implemented (not used)
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(Object obj) {
|
||||
LocalDate date = (LocalDate) obj;
|
||||
return date != null ? formatter.format(date) : "";
|
||||
}
|
||||
}
|
||||
|
|
@ -29,7 +29,7 @@ public class RootElementForWrite {
|
|||
|
||||
private LocalDate testLocalDateDefault = LocalDate.now();
|
||||
|
||||
@XStreamConverter(CustomLocalDateConverter.class)
|
||||
@XStreamConverter(FormattedLocalDateConverter.class)
|
||||
private LocalDate testLocalDateCustom = LocalDate.now();
|
||||
|
||||
private LocalDateTime testLocalDateTime = LocalDateTime.now();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue