diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/BulletPaymentTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/BulletPaymentTradeCsvPlugin.java index e30788c083..b21e92b357 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/BulletPaymentTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/BulletPaymentTradeCsvPlugin.java @@ -6,12 +6,13 @@ package com.opengamma.strata.loader.csv; import static com.opengamma.strata.basics.date.BusinessDayConventions.FOLLOWING; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import java.util.List; import java.util.Optional; @@ -112,7 +113,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, BulletPaymentTrade trade) { BulletPayment product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "BulletPayment"); + csv.writeCell(TRADE_TYPE_FIELD, "BulletPayment"); csv.writeCell(DIRECTION_FIELD, product.getPayReceive()); csv.writeCell(CURRENCY_FIELD, product.getValue().getCurrency()); csv.writeCell(NOTIONAL_FIELD, product.getValue().getAmount()); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CdsTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CdsTradeCsvPlugin.java index 2e6f838eaf..78f621464f 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CdsTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CdsTradeCsvPlugin.java @@ -7,37 +7,52 @@ import static com.opengamma.strata.collect.Guavate.toImmutableList; import static com.opengamma.strata.collect.Guavate.zip; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CDS_INDEX_ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CDS_INDEX_ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DAY_COUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIRST_REGULAR_START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXED_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FREQUENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LAST_REGULAR_END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LEGAL_ENTITY_ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LEGAL_ENTITY_ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.OVERRIDE_START_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.OVERRIDE_START_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.OVERRIDE_START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_ON_DEFAULT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PROTECTION_START_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ROLL_CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SETTLEMENT_DATE_OFFSET_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SETTLEMENT_DATE_OFFSET_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SETTLEMENT_DATE_OFFSET_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SETTLEMENT_DATE_OFFSET_DAYS_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STEP_IN_DATE_OFFSET_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STEP_IN_DATE_OFFSET_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STEP_IN_DATE_OFFSET_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STEP_IN_DATE_OFFSET_DAYS_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STUB_CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TENOR_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.CsvLoaderUtils.formattedPercentage; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DAY_COUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIRST_REGULAR_START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIXED_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FREQUENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.LAST_REGULAR_END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.OVERRIDE_START_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.OVERRIDE_START_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.OVERRIDE_START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_AMOUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.ROLL_CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.STUB_CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TENOR_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_DATE_FIELD; import static java.util.stream.Collectors.joining; import java.time.LocalDate; @@ -102,21 +117,7 @@ final class CdsTradeCsvPlugin implements TradeCsvParserPlugin { public static final TradeTypeCsvWriter CDS_INDEX_INSTANCE = new CdsIndexTradeCsvWriter(); private static final String DEFAULT_CDS_INDEX_SCHEME = "OG-CDS"; - private static final String CDS_INDEX_ID_SCHEME_FIELD = "CDS Index Id Scheme"; - private static final String CDS_INDEX_ID_FIELD = "CDS Index Id"; private static final String DEFAULT_LEGAL_ENTITY_SCHEME = "OG-Entity"; - private static final String LEGAL_ENTITY_ID_SCHEME_FIELD = "Legal Entity Id Scheme"; - private static final String LEGAL_ENTITY_ID_FIELD = "Legal Entity Id"; - private static final String PAYMENT_ON_DEFAULT_FIELD = "Payment On Default"; - private static final String PROTECTION_START_FIELD = "Protection Start"; - private static final String STEP_IN_DATE_OFFSET_DAYS_FIELD = "Step In Date Offset Days"; - private static final String STEP_IN_DATE_OFFSET_CAL_FIELD = "Step In Date Offset Calendar"; - private static final String STEP_IN_DATE_OFFSET_ADJ_CNV_FIELD = "Step In Date Offset Adjustment Convention"; - private static final String STEP_IN_DATE_OFFSET_ADJ_CAL_FIELD = "Step In Date Offset Adjustment Calendar"; - private static final String SETTLEMENT_DATE_OFFSET_DAYS_FIELD = "Settlement Date Offset Days"; - private static final String SETTLEMENT_DATE_OFFSET_CAL_FIELD = "Settlement Date Offset Calendar"; - private static final String SETTLEMENT_DATE_OFFSET_ADJ_CNV_FIELD = "Settlement Date Offset Adjustment Convention"; - private static final String SETTLEMENT_DATE_OFFSET_ADJ_CAL_FIELD = "Settlement Date Offset Adjustment Calendar"; //------------------------------------------------------------------------- @Override @@ -405,7 +406,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, CdsTrade trade) { Cds product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "Cds"); + csv.writeCell(TRADE_TYPE_FIELD, "Cds"); csv.writeCell(LEGAL_ENTITY_ID_SCHEME_FIELD, product.getLegalEntityId().getScheme()); csv.writeCell(LEGAL_ENTITY_ID_FIELD, product.getLegalEntityId().getValue()); trade.getUpfrontFee().ifPresent(premium -> writeCdsPremium(csv, premium)); @@ -454,7 +455,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, CdsIndexTrade trade) { CdsIndex product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "CdsIndex"); + csv.writeCell(TRADE_TYPE_FIELD, "CdsIndex"); csv.writeCell(CDS_INDEX_ID_SCHEME_FIELD, product.getCdsIndexId().getScheme()); csv.writeCell(CDS_INDEX_ID_FIELD, product.getCdsIndexId().getValue()); String scheme = ""; diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderColumns.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderColumns.java new file mode 100644 index 0000000000..fb9426d5fb --- /dev/null +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderColumns.java @@ -0,0 +1,321 @@ +/* + * Copyright (C) 2021 - present by OpenGamma Inc. and the OpenGamma group of companies + * + * Please see distribution for license. + */ +package com.opengamma.strata.loader.csv; + +/** + * Column names for CSV files. + *

+ * This class provides constants for the column names in the Strata CSV format. + */ +public final class CsvLoaderColumns { + + /** CSV header (Basic). */ + public static final String TRADE_TYPE_FIELD = "Strata Trade Type"; + /** CSV header (Basic). */ + public static final String POSITION_TYPE_FIELD = "Strata Position Type"; + /** CSV header (Basic). */ + public static final String ID_SCHEME_FIELD = "Id Scheme"; + /** CSV header (Basic). */ + public static final String ID_FIELD = "Id"; + /** CSV header (Basic). */ + public static final String DESCRIPTION_FIELD = "Description"; + /** CSV header (Basic). */ + public static final String NAME_FIELD = "Name"; + /** CSV header (Basic). */ + public static final String CCP_FIELD = "CCP"; + /** CSV header (Basic). */ + public static final String CPTY_SCHEME_FIELD = "Counterparty Scheme"; + /** CSV header (Basic). */ + public static final String CPTY_FIELD = "Counterparty"; + /** CSV header (Basic). */ + public static final String TRADE_DATE_FIELD = "Trade Date"; + /** CSV header (Basic). */ + public static final String TRADE_TIME_FIELD = "Trade Time"; + /** CSV header (Basic). */ + public static final String TRADE_ZONE_FIELD = "Trade Zone"; + /** CSV header (Basic). */ + public static final String SETTLEMENT_DATE_FIELD = "Settlement Date"; + + /** CSV header. */ + public static final String CONVENTION_FIELD = "Convention"; + /** CSV header. */ + public static final String BUY_SELL_FIELD = "Buy Sell"; + /** CSV header. */ + public static final String DIRECTION_FIELD = "Direction"; + /** CSV header. */ + public static final String CURRENCY_FIELD = "Currency"; + /** CSV header. */ + public static final String NOTIONAL_FIELD = "Notional"; + /** CSV header. */ + public static final String INDEX_FIELD = "Index"; + /** CSV header. */ + public static final String INTERPOLATED_INDEX_FIELD = "Interpolated Index"; + /** CSV header. */ + public static final String FIXED_RATE_FIELD = "Fixed Rate"; + /** CSV header. */ + public static final String PERIOD_TO_START_FIELD = "Period To Start"; + /** CSV header. */ + public static final String TENOR_FIELD = "Tenor"; + /** CSV header. */ + public static final String START_DATE_FIELD = "Start Date"; + /** CSV header. */ + public static final String END_DATE_FIELD = "End Date"; + /** CSV header. */ + public static final String DATE_ADJ_CNV_FIELD = "Date Convention"; + /** CSV header. */ + public static final String DATE_ADJ_CAL_FIELD = "Date Calendar"; + /** CSV header. */ + public static final String DAY_COUNT_FIELD = "Day Count"; + /** CSV header. */ + public static final String FX_RATE_FIELD = "FX Rate"; + /** CSV header. */ + public static final String PAYMENT_DATE_FIELD = "Payment Date"; + /** CSV header. */ + public static final String PAYMENT_DATE_CNV_FIELD = "Payment Date Convention"; + /** CSV header. */ + public static final String PAYMENT_DATE_CAL_FIELD = "Payment Date Calendar"; + /** CSV header. */ + public static final String LONG_SHORT_FIELD = "Long Short"; + /** CSV header. */ + public static final String EXPIRY_DATE_FIELD = "Expiry Date"; + /** CSV header. */ + public static final String EXPIRY_DATE_CNV_FIELD = "Expiry Date Convention"; + /** CSV header. */ + public static final String EXPIRY_DATE_CAL_FIELD = "Expiry Date Calendar"; + /** CSV header. */ + public static final String EXPIRY_TIME_FIELD = "Expiry Time"; + /** CSV header. */ + public static final String EXPIRY_ZONE_FIELD = "Expiry Zone"; + /** CSV header. */ + public static final String PREMIUM_CURRENCY_FIELD = "Premium Currency"; + /** CSV header. */ + public static final String PREMIUM_AMOUNT_FIELD = "Premium Amount"; + /** CSV header. */ + public static final String PREMIUM_DIRECTION_FIELD = "Premium Direction"; + /** CSV header. */ + public static final String PREMIUM_DATE_FIELD = "Premium Date"; + /** CSV header. */ + public static final String PREMIUM_DATE_CNV_FIELD = "Premium Date Convention"; + /** CSV header. */ + public static final String PREMIUM_DATE_CAL_FIELD = "Premium Date Calendar"; + /** CSV header. */ + public static final String FRA_DISCOUNTING_FIELD = "FRA Discounting Method"; + /** CSV header. */ + public static final String PUT_CALL_FIELD = "Put Call"; + + /** CSV header. */ + public static final String FREQUENCY_FIELD = "Frequency"; + /** CSV header. */ + public static final String START_DATE_CNV_FIELD = "Start Date Convention"; + /** CSV header. */ + public static final String START_DATE_CAL_FIELD = "Start Date Calendar"; + /** CSV header. */ + public static final String END_DATE_CNV_FIELD = "End Date Convention"; + /** CSV header. */ + public static final String END_DATE_CAL_FIELD = "End Date Calendar"; + /** CSV header. */ + public static final String ROLL_CONVENTION_FIELD = "Roll Convention"; + /** CSV header. */ + public static final String STUB_CONVENTION_FIELD = "Stub Convention"; + /** CSV header. */ + public static final String FIRST_REGULAR_START_DATE_FIELD = "First Regular Start Date"; + /** CSV header. */ + public static final String LAST_REGULAR_END_DATE_FIELD = "Last Regular End Date"; + /** CSV header. */ + public static final String OVERRIDE_START_DATE_FIELD = "Override Start Date"; + /** CSV header. */ + public static final String OVERRIDE_START_DATE_CNV_FIELD = "Override Start Date Convention"; + /** CSV header. */ + public static final String OVERRIDE_START_DATE_CAL_FIELD = "Override Start Date Calendar"; + + /** CSV header (CDS). */ + public static final String CDS_INDEX_ID_SCHEME_FIELD = "CDS Index Id Scheme"; + /** CSV header (CDS). */ + public static final String CDS_INDEX_ID_FIELD = "CDS Index Id"; + /** CSV header (CDS). */ + public static final String LEGAL_ENTITY_ID_SCHEME_FIELD = "Legal Entity Id Scheme"; + /** CSV header (CDS). */ + public static final String LEGAL_ENTITY_ID_FIELD = "Legal Entity Id"; + /** CSV header (CDS). */ + public static final String PAYMENT_ON_DEFAULT_FIELD = "Payment On Default"; + /** CSV header (CDS). */ + public static final String PROTECTION_START_FIELD = "Protection Start"; + /** CSV header (CDS). */ + public static final String STEP_IN_DATE_OFFSET_DAYS_FIELD = "Step In Date Offset Days"; + /** CSV header (CDS). */ + public static final String STEP_IN_DATE_OFFSET_CAL_FIELD = "Step In Date Offset Calendar"; + /** CSV header (CDS). */ + public static final String STEP_IN_DATE_OFFSET_ADJ_CNV_FIELD = "Step In Date Offset Adjustment Convention"; + /** CSV header (CDS). */ + public static final String STEP_IN_DATE_OFFSET_ADJ_CAL_FIELD = "Step In Date Offset Adjustment Calendar"; + /** CSV header (CDS). */ + public static final String SETTLEMENT_DATE_OFFSET_DAYS_FIELD = "Settlement Date Offset Days"; + /** CSV header (CDS). */ + public static final String SETTLEMENT_DATE_OFFSET_CAL_FIELD = "Settlement Date Offset Calendar"; + /** CSV header (CDS). */ + public static final String SETTLEMENT_DATE_OFFSET_ADJ_CNV_FIELD = "Settlement Date Offset Adjustment Convention"; + /** CSV header (CDS). */ + public static final String SETTLEMENT_DATE_OFFSET_ADJ_CAL_FIELD = "Settlement Date Offset Adjustment Calendar"; + + /** CSV header (Swap). */ + public static final String PAYMENT_FREQUENCY_FIELD = "Payment Frequency"; + /** CSV header (Swap). */ + public static final String PAYMENT_RELATIVE_TO_FIELD = "Payment Relative To"; + /** CSV header (Swap). */ + public static final String PAYMENT_OFFSET_DAYS_FIELD = "Payment Offset Days"; + /** CSV header (Swap). */ + public static final String PAYMENT_OFFSET_CAL_FIELD = "Payment Offset Calendar"; + /** CSV header (Swap). */ + public static final String PAYMENT_OFFSET_ADJ_CNV_FIELD = "Payment Offset Adjustment Convention"; + /** CSV header (Swap). */ + public static final String PAYMENT_OFFSET_ADJ_CAL_FIELD = "Payment Offset Adjustment Calendar"; + /** CSV header (Swap). */ + public static final String COMPOUNDING_METHOD_FIELD = "Compounding Method"; + /** CSV header (Swap). */ + public static final String PAYMENT_FIRST_REGULAR_START_DATE_FIELD = "Payment First Regular Start Date"; + /** CSV header (Swap). */ + public static final String PAYMENT_LAST_REGULAR_END_DATE_FIELD = "Payment Last Regular End Date"; + + /** CSV header (Swap). */ + public static final String NOTIONAL_CURRENCY_FIELD = "Notional Currency"; + /** CSV header (Swap). */ + public static final String NOTIONAL_INITIAL_EXCHANGE_FIELD = "Notional Initial Exchange"; + /** CSV header (Swap). */ + public static final String NOTIONAL_INTERMEDIATE_EXCHANGE_FIELD = "Notional Intermediate Exchange"; + /** CSV header (Swap). */ + public static final String NOTIONAL_FINAL_EXCHANGE_FIELD = "Notional Final Exchange"; + /** CSV header (Swap). */ + public static final String FX_RESET_INDEX_FIELD = "FX Reset Index"; + /** CSV header (Swap). */ + public static final String FX_RESET_RELATIVE_TO_FIELD = "FX Reset Relative To"; + /** CSV header (Swap). */ + public static final String FX_RESET_OFFSET_DAYS_FIELD = "FX Reset Offset Days"; + /** CSV header (Swap). */ + public static final String FX_RESET_OFFSET_CAL_FIELD = "FX Reset Offset Calendar"; + /** CSV header (Swap). */ + public static final String FX_RESET_OFFSET_ADJ_CNV_FIELD = "FX Reset Offset Adjustment Convention"; + /** CSV header (Swap). */ + public static final String FX_RESET_OFFSET_ADJ_CAL_FIELD = "FX Reset Offset Adjustment Calendar"; + /** CSV header (Swap). */ + public static final String FX_RESET_INITIAL_NOTIONAL_FIELD = "FX Reset Initial Notional"; + + /** CSV header (Swap). */ + public static final String INITIAL_STUB_RATE_FIELD = "Initial Stub Rate"; + /** CSV header (Swap). */ + public static final String INITIAL_STUB_AMOUNT_FIELD = "Initial Stub Amount"; + /** CSV header (Swap). */ + public static final String INITIAL_STUB_AMOUNT_CURRENCY_FIELD = "Initial Stub Amount Currency"; + /** CSV header (Swap). */ + public static final String INITIAL_STUB_INDEX_FIELD = "Initial Stub Index"; + /** CSV header (Swap). */ + public static final String INITIAL_STUB_INTERPOLATED_INDEX_FIELD = "Initial Stub Interpolated Index"; + /** CSV header (Swap). */ + public static final String FINAL_STUB_RATE_FIELD = "Final Stub Rate"; + /** CSV header (Swap). */ + public static final String FINAL_STUB_AMOUNT_FIELD = "Final Stub Amount"; + /** CSV header (Swap). */ + public static final String FINAL_STUB_AMOUNT_CURRENCY_FIELD = "Final Stub Amount Currency"; + /** CSV header (Swap). */ + public static final String FINAL_STUB_INDEX_FIELD = "Final Stub Index"; + /** CSV header (Swap). */ + public static final String FINAL_STUB_INTERPOLATED_INDEX_FIELD = "Final Stub Interpolated Index"; + /** CSV header (Swap). */ + public static final String RESET_FREQUENCY_FIELD = "Reset Frequency"; + /** CSV header (Swap). */ + public static final String RESET_DATE_CNV_FIELD = "Reset Date Convention"; + /** CSV header (Swap). */ + public static final String RESET_DATE_CAL_FIELD = "Reset Date Calendar"; + /** CSV header (Swap). */ + public static final String RESET_METHOD_FIELD = "Reset Method"; + /** CSV header (Swap). */ + public static final String FIXING_RELATIVE_TO_FIELD = "Fixing Relative To"; + /** CSV header (Swap). */ + public static final String FIXING_OFFSET_DAYS_FIELD = "Fixing Offset Days"; + /** CSV header (Swap). */ + public static final String FIXING_OFFSET_CAL_FIELD = "Fixing Offset Calendar"; + /** CSV header (Swap). */ + public static final String FIXING_OFFSET_ADJ_CNV_FIELD = "Fixing Offset Adjustment Convention"; + /** CSV header (Swap). */ + public static final String FIXING_OFFSET_ADJ_CAL_FIELD = "Fixing Offset Adjustment Calendar"; + /** CSV header (Swap). */ + public static final String FUTURE_VALUE_NOTIONAL_FIELD = "Future Value Notional"; + /** CSV header (Swap). */ + public static final String NEGATIVE_RATE_METHOD_FIELD = "Negative Rate Method"; + /** CSV header (Swap). */ + public static final String FIRST_RATE_FIELD = "First Rate"; + /** CSV header (Swap). */ + public static final String FIRST_REGULAR_RATE_FIELD = "First Regular Rate"; + /** CSV header (Swap). */ + public static final String ACCRUAL_METHOD_FIELD = "Accrual Method"; + /** CSV header (Swap). */ + public static final String RATE_CUT_OFF_DAYS_FIELD = "Rate Cut Off Days"; + /** CSV header (Swap). */ + public static final String INFLATION_LAG_FIELD = "Inflation Lag"; + /** CSV header (Swap). */ + public static final String INFLATION_METHOD_FIELD = "Inflation Method"; + /** CSV header (Swap). */ + public static final String INFLATION_FIRST_INDEX_VALUE_FIELD = "Inflation First Index Value"; + /** CSV header (Swap). */ + public static final String GEARING_FIELD = "Gearing"; + /** CSV header (Swap). */ + public static final String SPREAD_FIELD = "Spread"; + /** CSV header (Swap). */ + public static final String KNOWN_AMOUNT_FIELD = "Known Amount"; + + /** CSV header (Swaption). */ + public static final String PAYOFF_SETTLEMENT_TYPE_FIELD = "Payoff Settlement Type"; + /** CSV header (Swaption). */ + public static final String PAYOFF_SETTLEMENT_DATE_FIELD = "Payoff Settlement Date"; + + /** CSV header (FX). */ + public static final String FAR_FX_RATE_DATE_FIELD = "Far FX Rate"; + /** CSV header (FX). */ + public static final String FAR_PAYMENT_DATE_FIELD = "Far Payment Date"; + + /** CSV header (Position/Security). */ + public static final String SECURITY_ID_SCHEME_FIELD = "Security Id Scheme"; + /** CSV header (Position/Security). */ + public static final String SECURITY_ID_FIELD = "Security Id"; + /** CSV header (Position/Security). */ + public static final String EXCHANGE_FIELD = "Exchange"; + /** CSV header (Position/Security). */ + public static final String CONTRACT_CODE_FIELD = "Contract Code"; + /** CSV header (Position/Security). */ + public static final String LONG_QUANTITY_FIELD = "Long Quantity"; + /** CSV header (Position/Security). */ + public static final String SHORT_QUANTITY_FIELD = "Short Quantity"; + /** CSV header (Position/Security). */ + public static final String QUANTITY_FIELD = "Quantity"; + /** CSV header (Position/Security). */ + public static final String PRICE_FIELD = "Price"; + /** CSV header (Position/Security). */ + public static final String EXPIRY_FIELD = "Expiry"; + /** CSV header (Position/Security). */ + public static final String EXPIRY_WEEK_FIELD = "Expiry Week"; + /** CSV header (Position/Security). */ + public static final String EXPIRY_DAY_FIELD = "Expiry Day"; + /** CSV header (Position/Security). */ + public static final String SETTLEMENT_TYPE_FIELD = "Settlement Type"; + /** CSV header (Position/Security). */ + public static final String EXERCISE_STYLE_FIELD = "Exercise Style"; + /** CSV header (Position/Security). */ + public static final String VERSION_FIELD = "Version"; + /** CSV header (Position/Security). */ + public static final String EXERCISE_PRICE_FIELD = "Exercise Price"; + /** CSV header (Position/Security). */ + public static final String UNDERLYING_EXPIRY_FIELD = "Underlying Expiry"; + /** CSV header (Position/Security). */ + public static final String TICK_SIZE_FIELD = "Tick Size"; + /** CSV header (Position/Security). */ + public static final String TICK_VALUE_FIELD = "Tick Value"; + /** CSV header (Position/Security). */ + public static final String CONTRACT_SIZE_FIELD = "Contract Size"; + + // restricted constructor + private CsvLoaderColumns() { + } + +} diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderUtils.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderUtils.java index a5458e0ef5..2294f66557 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderUtils.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/CsvLoaderUtils.java @@ -45,88 +45,130 @@ public final class CsvLoaderUtils { /** * The column name for the security ID scheme/symbology. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String SECURITY_ID_SCHEME_FIELD = "Security Id Scheme"; + @Deprecated + public static final String SECURITY_ID_SCHEME_FIELD = CsvLoaderColumns.SECURITY_ID_SCHEME_FIELD; /** * The column name for the security ID. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String SECURITY_ID_FIELD = "Security Id"; + @Deprecated + public static final String SECURITY_ID_FIELD = CsvLoaderColumns.SECURITY_ID_FIELD; /** * The column name for the exchange. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String EXCHANGE_FIELD = "Exchange"; + @Deprecated + public static final String EXCHANGE_FIELD = CsvLoaderColumns.EXCHANGE_FIELD; /** * The column name for the contract code. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String CONTRACT_CODE_FIELD = "Contract Code"; + @Deprecated + public static final String CONTRACT_CODE_FIELD = CsvLoaderColumns.CONTRACT_CODE_FIELD; /** * The column name for the long quantity. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String LONG_QUANTITY_FIELD = "Long Quantity"; + @Deprecated + public static final String LONG_QUANTITY_FIELD = CsvLoaderColumns.LONG_QUANTITY_FIELD; /** * The column name for the short quantity. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String SHORT_QUANTITY_FIELD = "Short Quantity"; + @Deprecated + public static final String SHORT_QUANTITY_FIELD = CsvLoaderColumns.SHORT_QUANTITY_FIELD; /** * The column name for the quantity. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String QUANTITY_FIELD = "Quantity"; + @Deprecated + public static final String QUANTITY_FIELD = CsvLoaderColumns.QUANTITY_FIELD; /** * The column name for the price. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String PRICE_FIELD = "Price"; + @Deprecated + public static final String PRICE_FIELD = CsvLoaderColumns.PRICE_FIELD; /** * The column name for the expiry month/year. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String EXPIRY_FIELD = "Expiry"; + @Deprecated + public static final String EXPIRY_FIELD = CsvLoaderColumns.EXPIRY_FIELD; /** * The column name for the expiry week. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String EXPIRY_WEEK_FIELD = "Expiry Week"; + @Deprecated + public static final String EXPIRY_WEEK_FIELD = CsvLoaderColumns.EXPIRY_WEEK_FIELD; /** * The column name for the expiry day. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String EXPIRY_DAY_FIELD = "Expiry Day"; + @Deprecated + public static final String EXPIRY_DAY_FIELD = CsvLoaderColumns.EXPIRY_DAY_FIELD; /** * The column name for the settlement type. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String SETTLEMENT_TYPE_FIELD = "Settlement Type"; + @Deprecated + public static final String SETTLEMENT_TYPE_FIELD = CsvLoaderColumns.SETTLEMENT_TYPE_FIELD; /** * The column name for the exercise style. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String EXERCISE_STYLE_FIELD = "Exercise Style"; + @Deprecated + public static final String EXERCISE_STYLE_FIELD = CsvLoaderColumns.EXERCISE_STYLE_FIELD; /** * The column name for the option version. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String VERSION_FIELD = "Version"; + @Deprecated + public static final String VERSION_FIELD = CsvLoaderColumns.VERSION_FIELD; /** * The column name for the put/call flag. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String PUT_CALL_FIELD = "Put Call"; + @Deprecated + public static final String PUT_CALL_FIELD = CsvLoaderColumns.PUT_CALL_FIELD; /** * The column name for the option strike price. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String EXERCISE_PRICE_FIELD = "Exercise Price"; + @Deprecated + public static final String EXERCISE_PRICE_FIELD = CsvLoaderColumns.EXERCISE_PRICE_FIELD; /** * The column name for the underlying expiry month/year. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String UNDERLYING_EXPIRY_FIELD = "Underlying Expiry"; + @Deprecated + public static final String UNDERLYING_EXPIRY_FIELD = CsvLoaderColumns.UNDERLYING_EXPIRY_FIELD; /** * The column name for the currency. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String CURRENCY = "Currency"; + @Deprecated + public static final String CURRENCY = CsvLoaderColumns.CURRENCY_FIELD; /** * The column name for the tick size. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String TICK_SIZE = "Tick Size"; + @Deprecated + public static final String TICK_SIZE = CsvLoaderColumns.TICK_SIZE_FIELD; /** * The column name for the tick value. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String TICK_VALUE = "Tick Value"; + @Deprecated + public static final String TICK_VALUE = CsvLoaderColumns.TICK_VALUE_FIELD; /** * The column name for the contract size. + * @deprecated Use {@link CsvLoaderColumns}. */ - public static final String CONTRACT_SIZE = "Contract Size"; + @Deprecated + public static final String CONTRACT_SIZE = CsvLoaderColumns.CONTRACT_SIZE_FIELD; /** * Default version used as an option might not specify a version number. @@ -262,7 +304,7 @@ public static DoublesPair parseQuantity(CsvRow row) { * @return the adjustment * @throws IllegalArgumentException if the row cannot be parsed */ - static AdjustableDate parseAdjustableDate( + public static AdjustableDate parseAdjustableDate( CsvRow row, String dateField, String conventionField, @@ -286,7 +328,7 @@ static AdjustableDate parseAdjustableDate( * @return the adjustment * @throws IllegalArgumentException if the row cannot be parsed */ - static AdjustableDate parseAdjustableDate( + public static AdjustableDate parseAdjustableDate( CsvRow row, String dateField, String conventionField, @@ -310,7 +352,7 @@ static AdjustableDate parseAdjustableDate( * @return the adjustment * @throws IllegalArgumentException if the row cannot be parsed */ - static Optional parseBusinessDayAdjustment( + public static Optional parseBusinessDayAdjustment( CsvRow row, String conventionField, String calendarField) { @@ -341,7 +383,7 @@ static Optional parseBusinessDayAdjustment( * @return the adjustment * @throws IllegalArgumentException if the row cannot be parsed */ - static DaysAdjustment parseDaysAdjustment( + public static DaysAdjustment parseDaysAdjustment( CsvRow row, String daysField, String daysCalField, @@ -371,7 +413,7 @@ static DaysAdjustment parseDaysAdjustment( * @return the currency amount * @throws IllegalArgumentException if the row cannot be parsed */ - static CurrencyAmount parseCurrencyAmount(CsvRow row, String currencyField, String amountField) { + public static CurrencyAmount parseCurrencyAmount(CsvRow row, String currencyField, String amountField) { Currency currency = row.getValue(currencyField, LoaderUtils::parseCurrency); double amount = row.getValue(amountField, LoaderUtils::parseDouble); return CurrencyAmount.of(currency, amount); @@ -387,7 +429,7 @@ static CurrencyAmount parseCurrencyAmount(CsvRow row, String currencyField, Stri * @return the currency amount * @throws IllegalArgumentException if the row cannot be parsed */ - static CurrencyAmount parseCurrencyAmountWithDirection( + public static CurrencyAmount parseCurrencyAmountWithDirection( CsvRow row, String currencyField, String amountField, diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FraTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FraTradeCsvPlugin.java index ed622e425a..0ae0d72b5c 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FraTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FraTradeCsvPlugin.java @@ -5,25 +5,26 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DAY_COUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXED_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FRA_DISCOUNTING_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INTERPOLATED_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PERIOD_TO_START_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.CsvLoaderUtils.formattedPercentage; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DAY_COUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIXED_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FRA_DISCOUNTING_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.INDEX_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.INTERPOLATED_INDEX_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PERIOD_TO_START_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_DATE_FIELD; import java.time.LocalDate; import java.time.Period; @@ -245,7 +246,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, FraTrade trade) { Fra product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "Fra"); + csv.writeCell(TRADE_TYPE_FIELD, "Fra"); csv.writeCell(START_DATE_FIELD, product.getStartDate()); csv.writeCell(END_DATE_FIELD, product.getEndDate()); csv.writeCell(BUY_SELL_FIELD, product.getBuySell()); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FullSwapTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FullSwapTradeCsvPlugin.java index a31b66761c..5d8455a5a8 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FullSwapTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FullSwapTradeCsvPlugin.java @@ -5,32 +5,82 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ACCRUAL_METHOD_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.COMPOUNDING_METHOD_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DAY_COUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FINAL_STUB_AMOUNT_CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FINAL_STUB_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FINAL_STUB_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FINAL_STUB_INTERPOLATED_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FINAL_STUB_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIRST_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIRST_REGULAR_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIRST_REGULAR_START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXED_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXING_OFFSET_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXING_OFFSET_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXING_OFFSET_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXING_OFFSET_DAYS_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXING_RELATIVE_TO_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FREQUENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FUTURE_VALUE_NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_INITIAL_NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_OFFSET_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_OFFSET_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_OFFSET_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_OFFSET_DAYS_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RESET_RELATIVE_TO_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.GEARING_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INFLATION_FIRST_INDEX_VALUE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INFLATION_LAG_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INFLATION_METHOD_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INITIAL_STUB_AMOUNT_CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INITIAL_STUB_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INITIAL_STUB_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INITIAL_STUB_INTERPOLATED_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INITIAL_STUB_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.KNOWN_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LAST_REGULAR_END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NEGATIVE_RATE_METHOD_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FINAL_EXCHANGE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_INITIAL_EXCHANGE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_INTERMEDIATE_EXCHANGE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.OVERRIDE_START_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.OVERRIDE_START_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.OVERRIDE_START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_FIRST_REGULAR_START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_FREQUENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_LAST_REGULAR_END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_OFFSET_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_OFFSET_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_OFFSET_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_OFFSET_DAYS_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_RELATIVE_TO_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.RATE_CUT_OFF_DAYS_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.RESET_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.RESET_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.RESET_FREQUENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.RESET_METHOD_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ROLL_CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SPREAD_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STUB_CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.CsvLoaderUtils.formattedDouble; import static com.opengamma.strata.loader.csv.CsvLoaderUtils.formattedPercentage; -import static com.opengamma.strata.loader.csv.SwapTradeCsvPlugin.KNOWN_AMOUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DAY_COUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIRST_REGULAR_START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIXED_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FREQUENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.INDEX_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.LAST_REGULAR_END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.OVERRIDE_START_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.OVERRIDE_START_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.OVERRIDE_START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.ROLL_CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.STUB_CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TYPE_FIELD; import java.time.LocalDate; import java.time.Period; @@ -115,61 +165,6 @@ final class FullSwapTradeCsvPlugin implements TradeTypeCsvWriter { */ public static final FullSwapTradeCsvPlugin INSTANCE = new FullSwapTradeCsvPlugin(); - // CSV column headers - private static final String PAYMENT_FREQUENCY_FIELD = "Payment Frequency"; - private static final String PAYMENT_RELATIVE_TO_FIELD = "Payment Relative To"; - private static final String PAYMENT_OFFSET_DAYS_FIELD = "Payment Offset Days"; - private static final String PAYMENT_OFFSET_CAL_FIELD = "Payment Offset Calendar"; - private static final String PAYMENT_OFFSET_ADJ_CNV_FIELD = "Payment Offset Adjustment Convention"; - private static final String PAYMENT_OFFSET_ADJ_CAL_FIELD = "Payment Offset Adjustment Calendar"; - private static final String COMPOUNDING_METHOD_FIELD = "Compounding Method"; - private static final String PAYMENT_FIRST_REGULAR_START_DATE_FIELD = "Payment First Regular Start Date"; - private static final String PAYMENT_LAST_REGULAR_END_DATE_FIELD = "Payment Last Regular End Date"; - - private static final String NOTIONAL_CURRENCY_FIELD = "Notional Currency"; - private static final String NOTIONAL_INITIAL_EXCHANGE_FIELD = "Notional Initial Exchange"; - private static final String NOTIONAL_INTERMEDIATE_EXCHANGE_FIELD = "Notional Intermediate Exchange"; - private static final String NOTIONAL_FINAL_EXCHANGE_FIELD = "Notional Final Exchange"; - private static final String FX_RESET_INDEX_FIELD = "FX Reset Index"; - private static final String FX_RESET_RELATIVE_TO_FIELD = "FX Reset Relative To"; - private static final String FX_RESET_OFFSET_DAYS_FIELD = "FX Reset Offset Days"; - private static final String FX_RESET_OFFSET_CAL_FIELD = "FX Reset Offset Calendar"; - private static final String FX_RESET_OFFSET_ADJ_CNV_FIELD = "FX Reset Offset Adjustment Convention"; - private static final String FX_RESET_OFFSET_ADJ_CAL_FIELD = "FX Reset Offset Adjustment Calendar"; - private static final String FX_RESET_INITIAL_NOTIONAL_FIELD = "FX Reset Initial Notional"; - - private static final String INITIAL_STUB_RATE_FIELD = "Initial Stub Rate"; - private static final String INITIAL_STUB_AMOUNT_FIELD = "Initial Stub Amount"; - private static final String INITIAL_STUB_AMOUNT_CURRENCY_FIELD = "Initial Stub Amount Currency"; - private static final String INITIAL_STUB_INDEX_FIELD = "Initial Stub Index"; - private static final String INITIAL_STUB_INTERPOLATED_INDEX_FIELD = "Initial Stub Interpolated Index"; - private static final String FINAL_STUB_RATE_FIELD = "Final Stub Rate"; - private static final String FINAL_STUB_AMOUNT_FIELD = "Final Stub Amount"; - private static final String FINAL_STUB_AMOUNT_CURRENCY_FIELD = "Final Stub Amount Currency"; - private static final String FINAL_STUB_INDEX_FIELD = "Final Stub Index"; - private static final String FINAL_STUB_INTERPOLATED_INDEX_FIELD = "Final Stub Interpolated Index"; - private static final String RESET_FREQUENCY_FIELD = "Reset Frequency"; - private static final String RESET_DATE_CNV_FIELD = "Reset Date Convention"; - private static final String RESET_DATE_CAL_FIELD = "Reset Date Calendar"; - private static final String RESET_METHOD_FIELD = "Reset Method"; - private static final String FIXING_RELATIVE_TO_FIELD = "Fixing Relative To"; - private static final String FIXING_OFFSET_DAYS_FIELD = "Fixing Offset Days"; - private static final String FIXING_OFFSET_CAL_FIELD = "Fixing Offset Calendar"; - private static final String FIXING_OFFSET_ADJ_CNV_FIELD = "Fixing Offset Adjustment Convention"; - private static final String FIXING_OFFSET_ADJ_CAL_FIELD = "Fixing Offset Adjustment Calendar"; - private static final String FUTURE_VALUE_NOTIONAL_FIELD = "Future Value Notional"; - private static final String NEGATIVE_RATE_METHOD_FIELD = "Negative Rate Method"; - private static final String FIRST_RATE_FIELD = "First Rate"; - private static final String FIRST_REGULAR_RATE_FIELD = "First Regular Rate"; - private static final String ACCRUAL_METHOD_FIELD = "Accrual Method"; - private static final String RATE_CUT_OFF_DAYS_FIELD = "Rate Cut Off Days"; - private static final String INFLATION_LAG_FIELD = "Inflation Lag"; - private static final String INFLATION_METHOD_FIELD = "Inflation Method"; - private static final String INFLATION_FIRST_INDEX_VALUE_FIELD = "Inflation First Index Value"; - - private static final String GEARING_FIELD = "Gearing"; - private static final String SPREAD_FIELD = "Spread"; - //------------------------------------------------------------------------- /** * Parses from the CSV row. @@ -980,7 +975,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, SwapTrade trade) { - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "Swap"); + csv.writeCell(TRADE_TYPE_FIELD, "Swap"); VariableElements variableElements = writeProduct(csv, trade.getProduct()); csv.writeNewLine(); variableElements.writeLines(csv); @@ -1244,7 +1239,7 @@ private void add(LocalDate date, String column, String value) { private HashMap createInner(LocalDate date) { HashMap innerMap = new HashMap<>(); - innerMap.put(TYPE_FIELD, "Variable"); + innerMap.put(TRADE_TYPE_FIELD, "Variable"); innerMap.put(START_DATE_FIELD, date.toString()); return innerMap; } diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSingleTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSingleTradeCsvPlugin.java index dd365781dd..b5711323be 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSingleTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSingleTradeCsvPlugin.java @@ -5,15 +5,16 @@ */ package com.opengamma.strata.loader.csv; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FX_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import java.time.LocalDate; import java.util.List; @@ -183,7 +184,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, FxSingleTrade trade) { - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "FxSingle"); + csv.writeCell(TRADE_TYPE_FIELD, "FxSingle"); writeProduct(csv, "", trade.getProduct()); csv.writeNewLine(); } diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSwapTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSwapTradeCsvPlugin.java index 78838ded1b..cfe41e9c2d 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSwapTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxSwapTradeCsvPlugin.java @@ -5,6 +5,17 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FAR_FX_RATE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FAR_PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_1_CURRENCY_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_1_DIRECTION_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_1_NOTIONAL_FIELD; @@ -13,14 +24,6 @@ import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_2_DIRECTION_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_2_NOTIONAL_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_2_PAYMENT_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FX_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_FIELD; import java.time.LocalDate; import java.util.List; @@ -54,8 +57,6 @@ class FxSwapTradeCsvPlugin implements TradeCsvParserPlugin, TradeTypeCsvWriter HEADERS = ImmutableList.builder() @@ -165,7 +166,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, FxSwapTrade trade) { - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "FxSwap"); + csv.writeCell(TRADE_TYPE_FIELD, "FxSwap"); FxSingleTradeCsvPlugin.INSTANCE.writeProduct(csv, "", trade.getProduct().getNearLeg()); FxSingleTradeCsvPlugin.INSTANCE.writeProduct(csv, FAR, trade.getProduct().getFarLeg()); csv.writeNewLine(); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxVanillaOptionTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxVanillaOptionTradeCsvPlugin.java index 0284b21425..b1110bf847 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxVanillaOptionTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/FxVanillaOptionTradeCsvPlugin.java @@ -5,6 +5,19 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_TIME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_ZONE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LONG_SHORT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_1_CURRENCY_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_1_DIRECTION_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_1_NOTIONAL_FIELD; @@ -13,18 +26,6 @@ import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_2_DIRECTION_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_2_NOTIONAL_FIELD; import static com.opengamma.strata.loader.csv.FxSingleTradeCsvPlugin.LEG_2_PAYMENT_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_TIME_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_ZONE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.LONG_SHORT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_AMOUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DIRECTION_FIELD; import java.time.LocalDate; import java.time.LocalTime; @@ -159,17 +160,17 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, FxVanillaOptionTrade trade) { FxVanillaOption product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "FxVanillaOption"); - csv.writeCell(TradeCsvLoader.LONG_SHORT_FIELD, product.getLongShort()); - csv.writeCell(TradeCsvLoader.EXPIRY_DATE_FIELD, product.getExpiryDate()); - csv.writeCell(TradeCsvLoader.EXPIRY_TIME_FIELD, product.getExpiryTime()); - csv.writeCell(TradeCsvLoader.EXPIRY_ZONE_FIELD, product.getExpiryZone()); - csv.writeCell(TradeCsvLoader.PREMIUM_DATE_FIELD, trade.getPremium().getDate().getUnadjusted()); - csv.writeCell(TradeCsvLoader.PREMIUM_DATE_CNV_FIELD, trade.getPremium().getDate().getAdjustment().getConvention()); - csv.writeCell(TradeCsvLoader.PREMIUM_DATE_CAL_FIELD, trade.getPremium().getDate().getAdjustment().getCalendar()); - csv.writeCell(TradeCsvLoader.PREMIUM_DIRECTION_FIELD, PayReceive.ofSignedAmount(trade.getPremium().getAmount())); - csv.writeCell(TradeCsvLoader.PREMIUM_CURRENCY_FIELD, trade.getPremium().getCurrency()); - csv.writeCell(TradeCsvLoader.PREMIUM_AMOUNT_FIELD, trade.getPremium().getAmount()); + csv.writeCell(TRADE_TYPE_FIELD, "FxVanillaOption"); + csv.writeCell(LONG_SHORT_FIELD, product.getLongShort()); + csv.writeCell(EXPIRY_DATE_FIELD, product.getExpiryDate()); + csv.writeCell(EXPIRY_TIME_FIELD, product.getExpiryTime()); + csv.writeCell(EXPIRY_ZONE_FIELD, product.getExpiryZone()); + csv.writeCell(PREMIUM_DATE_FIELD, trade.getPremium().getDate().getUnadjusted()); + csv.writeCell(PREMIUM_DATE_CNV_FIELD, trade.getPremium().getDate().getAdjustment().getConvention()); + csv.writeCell(PREMIUM_DATE_CAL_FIELD, trade.getPremium().getDate().getAdjustment().getCalendar()); + csv.writeCell(PREMIUM_DIRECTION_FIELD, PayReceive.ofSignedAmount(trade.getPremium().getAmount())); + csv.writeCell(PREMIUM_CURRENCY_FIELD, trade.getPremium().getCurrency()); + csv.writeCell(PREMIUM_AMOUNT_FIELD, trade.getPremium().getAmount()); FxSingleTradeCsvPlugin.INSTANCE.writeProduct(csv, "", product.getUnderlying()); csv.writeNewLine(); } diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvInfoResolver.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvInfoResolver.java index adaf484b26..c5e2261c0d 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvInfoResolver.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvInfoResolver.java @@ -5,19 +5,22 @@ */ package com.opengamma.strata.loader.csv; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.CONTRACT_CODE_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.CONTRACT_SIZE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.CURRENCY; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CCP_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONTRACT_CODE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONTRACT_SIZE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DESCRIPTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXCHANGE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXERCISE_PRICE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NAME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PUT_CALL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SECURITY_ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SECURITY_ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TICK_SIZE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TICK_VALUE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.UNDERLYING_EXPIRY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.VERSION_FIELD; import static com.opengamma.strata.loader.csv.CsvLoaderUtils.DEFAULT_OPTION_VERSION_NUMBER; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.EXCHANGE_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.EXERCISE_PRICE_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.PUT_CALL_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.SECURITY_ID_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.SECURITY_ID_SCHEME_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.TICK_SIZE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.TICK_VALUE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.UNDERLYING_EXPIRY_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.VERSION_FIELD; import static com.opengamma.strata.loader.csv.PositionCsvLoader.DEFAULT_SECURITY_SCHEME; import java.time.YearMonth; @@ -100,11 +103,11 @@ public static PositionCsvInfoResolver of(ReferenceData refData) { * @param builder the builder to update */ public default void parseStandardAttributes(CsvRow row, PositionInfoBuilder builder) { - row.findValue(PositionCsvLoader.DESCRIPTION_FIELD) + row.findValue(DESCRIPTION_FIELD) .ifPresent(str -> builder.addAttribute(AttributeType.DESCRIPTION, str)); - row.findValue(PositionCsvLoader.NAME_FIELD) + row.findValue(NAME_FIELD) .ifPresent(str -> builder.addAttribute(AttributeType.NAME, str)); - row.findValue(PositionCsvLoader.CCP_FIELD) + row.findValue(CCP_FIELD) .ifPresent(str -> builder.addAttribute(AttributeType.CCP, CcpId.of(str))); } @@ -182,10 +185,10 @@ public default SecurityPosition completePosition(CsvRow row, SecurityPosition po */ public default Position parseNonEtdPosition(CsvRow row, PositionInfo info) { SecurityPosition base = parseNonEtdSecurityPosition(row, info); - Optional tickSizeOpt = row.findValue(TICK_SIZE).map(str -> LoaderUtils.parseDouble(str)); - Optional currencyOpt = row.findValue(CURRENCY).map(str -> Currency.of(str)); - Optional tickValueOpt = row.findValue(TICK_VALUE).map(str -> LoaderUtils.parseDouble(str)); - double contractSize = row.findValue(CONTRACT_SIZE).map(str -> LoaderUtils.parseDouble(str)).orElse(1d); + Optional tickSizeOpt = row.findValue(TICK_SIZE_FIELD).map(str -> LoaderUtils.parseDouble(str)); + Optional currencyOpt = row.findValue(CURRENCY_FIELD).map(str -> Currency.of(str)); + Optional tickValueOpt = row.findValue(TICK_VALUE_FIELD).map(str -> LoaderUtils.parseDouble(str)); + double contractSize = row.findValue(CONTRACT_SIZE_FIELD).map(str -> LoaderUtils.parseDouble(str)).orElse(1d); if (tickSizeOpt.isPresent() && currencyOpt.isPresent() && tickValueOpt.isPresent()) { SecurityPriceInfo priceInfo = SecurityPriceInfo.of(tickSizeOpt.get(), CurrencyAmount.of(currencyOpt.get(), tickValueOpt.get()), contractSize); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvLoader.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvLoader.java index b74102d578..e916d6a961 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvLoader.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/PositionCsvLoader.java @@ -5,6 +5,9 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.POSITION_TYPE_FIELD; import static java.util.stream.Collectors.toList; import java.util.ArrayList; @@ -140,14 +143,6 @@ public final class PositionCsvLoader { static final String DEFAULT_POSITION_SCHEME = StandardSchemes.OG_POSITION_SCHEME; static final String DEFAULT_SECURITY_SCHEME = StandardSchemes.OG_SECURITY_SCHEME; - // CSV column headers - private static final String TYPE_FIELD = "Strata Position Type"; - private static final String ID_SCHEME_FIELD = "Id Scheme"; - private static final String ID_FIELD = "Id"; - static final String DESCRIPTION_FIELD = "Description"; - static final String NAME_FIELD = "Name"; - static final String CCP_FIELD = "CCP"; - /** * The lookup of position parsers. */ @@ -245,7 +240,7 @@ public ValueWithFailures> load(Collection resour */ public boolean isKnownFormat(CharSource charSource) { try (CsvIterator csv = CsvIterator.of(charSource, true)) { - return csv.containsHeader(TYPE_FIELD); + return csv.containsHeader(POSITION_TYPE_FIELD); } catch (RuntimeException ex) { return false; } @@ -321,10 +316,10 @@ public ValueWithFailures> parse(Collection ValueWithFailures> parseFile(CharSource charSource, Class positionType) { try (CsvIterator csv = CsvIterator.of(charSource, true)) { - if (!csv.headers().contains(TYPE_FIELD)) { + if (!csv.headers().contains(POSITION_TYPE_FIELD)) { return ValueWithFailures.of( ImmutableList.of(), - FailureItem.of(FailureReason.PARSING, "CSV file does not contain '{header}' header: {}", TYPE_FIELD, charSource)); + FailureItem.of(FailureReason.PARSING, "CSV file does not contain '{header}' header: {}", POSITION_TYPE_FIELD, charSource)); } return parseFile(csv, positionType); @@ -342,7 +337,7 @@ private ValueWithFailures> parseFile(CsvIterator cs List positions = new ArrayList<>(); List failures = new ArrayList<>(); for (CsvRow row : csv.asIterable()) { - String typeRaw = row.findValue(TYPE_FIELD).orElse("SMART"); + String typeRaw = row.findValue(POSITION_TYPE_FIELD).orElse("SMART"); String typeUpper = typeRaw.toUpperCase(Locale.ENGLISH); try { PositionInfo info = parsePositionInfo(row); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SecurityCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SecurityCsvPlugin.java index 35c3252945..11df9563f2 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SecurityCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SecurityCsvPlugin.java @@ -5,19 +5,20 @@ */ package com.opengamma.strata.loader.csv; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.CONTRACT_SIZE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.CURRENCY; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.EXERCISE_PRICE_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.EXPIRY_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.PRICE_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.PUT_CALL_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.QUANTITY_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.SECURITY_ID_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.SECURITY_ID_SCHEME_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.TICK_SIZE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.TICK_VALUE; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONTRACT_SIZE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXERCISE_PRICE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PRICE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PUT_CALL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.QUANTITY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SECURITY_ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SECURITY_ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TICK_SIZE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TICK_VALUE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.PositionCsvLoader.DEFAULT_SECURITY_SCHEME; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; import java.util.List; import java.util.Optional; @@ -93,10 +94,10 @@ static SecurityQuantityTrade parseTradeWithPriceInfo(CsvRow row, TradeInfo info, SecurityTrade trade = parseSecurityTrade(row, info, resolver); SecurityTrade base = resolver.completeTrade(row, trade); - Optional tickSizeOpt = row.findValue(TICK_SIZE).map(str -> LoaderUtils.parseDouble(str)); - Optional currencyOpt = row.findValue(CURRENCY).map(str -> Currency.of(str)); - Optional tickValueOpt = row.findValue(TICK_VALUE).map(str -> LoaderUtils.parseDouble(str)); - double contractSize = row.findValue(CONTRACT_SIZE).map(str -> LoaderUtils.parseDouble(str)).orElse(1d); + Optional tickSizeOpt = row.findValue(TICK_SIZE_FIELD).map(str -> LoaderUtils.parseDouble(str)); + Optional currencyOpt = row.findValue(CURRENCY_FIELD).map(str -> Currency.of(str)); + Optional tickValueOpt = row.findValue(TICK_VALUE_FIELD).map(str -> LoaderUtils.parseDouble(str)); + double contractSize = row.findValue(CONTRACT_SIZE_FIELD).map(str -> LoaderUtils.parseDouble(str)).orElse(1d); if (tickSizeOpt.isPresent() && currencyOpt.isPresent() && tickValueOpt.isPresent()) { SecurityPriceInfo priceInfo = SecurityPriceInfo.of(tickSizeOpt.get(), CurrencyAmount.of(currencyOpt.get(), tickValueOpt.get()), contractSize); @@ -186,7 +187,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, SecurityQuantityTrade trade) { - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "Security"); + csv.writeCell(TRADE_TYPE_FIELD, "Security"); csv.writeCell(SECURITY_ID_SCHEME_FIELD, trade.getSecurityId().getStandardId().getScheme()); csv.writeCell(SECURITY_ID_FIELD, trade.getSecurityId().getStandardId().getValue()); csv.writeCell(BUY_SELL_FIELD, trade.getQuantity() < 0 ? BuySell.SELL : BuySell.BUY); @@ -212,10 +213,10 @@ static class GenericSecurityTradeCsvPlugin implements TradeTypeCsvWriter headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, GenericSecurityTrade trade) { - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "Security"); + csv.writeCell(TRADE_TYPE_FIELD, "Security"); csv.writeCell(SECURITY_ID_SCHEME_FIELD, trade.getSecurityId().getStandardId().getScheme()); csv.writeCell(SECURITY_ID_FIELD, trade.getSecurityId().getStandardId().getValue()); csv.writeCell(BUY_SELL_FIELD, trade.getQuantity() < 0 ? BuySell.SELL : BuySell.BUY); csv.writeCell(QUANTITY_FIELD, Math.abs(trade.getQuantity())); csv.writeCell(PRICE_FIELD, trade.getPrice()); - csv.writeCell(TICK_SIZE, trade.getProduct().getInfo().getPriceInfo().getTickSize()); - csv.writeCell(CURRENCY, trade.getProduct().getInfo().getPriceInfo().getTickValue().getCurrency()); - csv.writeCell(TICK_VALUE, trade.getProduct().getInfo().getPriceInfo().getTickValue().getAmount()); - csv.writeCell(CONTRACT_SIZE, trade.getProduct().getInfo().getPriceInfo().getContractSize()); + csv.writeCell(TICK_SIZE_FIELD, trade.getProduct().getInfo().getPriceInfo().getTickSize()); + csv.writeCell(CURRENCY_FIELD, trade.getProduct().getInfo().getPriceInfo().getTickValue().getCurrency()); + csv.writeCell(TICK_VALUE_FIELD, trade.getProduct().getInfo().getPriceInfo().getTickValue().getAmount()); + csv.writeCell(CONTRACT_SIZE_FIELD, trade.getProduct().getInfo().getPriceInfo().getContractSize()); csv.writeNewLine(); } } diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwapTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwapTradeCsvPlugin.java index 8c967dc0c6..6c3cf37680 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwapTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwapTradeCsvPlugin.java @@ -5,20 +5,25 @@ */ package com.opengamma.strata.loader.csv; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIXED_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FX_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PERIOD_TO_START_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TENOR_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TYPE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIRST_REGULAR_START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXED_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FX_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.KNOWN_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LAST_REGULAR_END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PERIOD_TO_START_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ROLL_CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.STUB_CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TENOR_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import java.time.LocalDate; import java.time.Period; @@ -68,13 +73,6 @@ final class SwapTradeCsvPlugin implements TradeCsvParserPlugin { */ public static final SwapTradeCsvPlugin INSTANCE = new SwapTradeCsvPlugin(); - // CSV column headers - private static final String ROLL_CONVENTION_FIELD = "Roll Convention"; - private static final String STUB_CONVENTION_FIELD = "Stub Convention"; - private static final String FIRST_REGULAR_START_DATE_FIELD = "First Regular Start Date"; - private static final String LAST_REGULAR_END_DATE_FIELD = "Last Regular End Date"; - static final String KNOWN_AMOUNT_FIELD = "Known Amount"; - //------------------------------------------------------------------------- @Override public Set tradeTypeNames() { @@ -83,7 +81,7 @@ public Set tradeTypeNames() { @Override public boolean isAdditionalRow(CsvRow baseRow, CsvRow additionalRow) { - return additionalRow.getField(TYPE_FIELD).toUpperCase(Locale.ENGLISH).equals("VARIABLE"); + return additionalRow.getField(TRADE_TYPE_FIELD).toUpperCase(Locale.ENGLISH).equals("VARIABLE"); } @Override diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwaptionTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwaptionTradeCsvPlugin.java index da1885388b..30dbe7681c 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwaptionTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/SwaptionTradeCsvPlugin.java @@ -6,19 +6,21 @@ package com.opengamma.strata.loader.csv; import static com.opengamma.strata.collect.Guavate.toImmutableList; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_TIME_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.EXPIRY_ZONE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.LONG_SHORT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_AMOUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PREMIUM_DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TYPE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_TIME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.EXPIRY_ZONE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.LONG_SHORT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYOFF_SETTLEMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYOFF_SETTLEMENT_TYPE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_AMOUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PREMIUM_DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import java.time.LocalDate; import java.time.LocalTime; @@ -61,8 +63,6 @@ final class SwaptionTradeCsvPlugin implements TradeCsvParserPlugin, TradeTypeCsv */ public static final SwaptionTradeCsvPlugin INSTANCE = new SwaptionTradeCsvPlugin(); - private static final String PAYOFF_SETTLEMENT_TYPE_FIELD = "Payoff Settlement Type"; - private static final String PAYOFF_SETTLEMENT_DATE_FIELD = "Payoff Settlement Date"; private static final String PHYSICAL = "PHYSICAL"; //------------------------------------------------------------------------- @@ -73,7 +73,7 @@ public Set tradeTypeNames() { @Override public boolean isAdditionalRow(CsvRow baseRow, CsvRow additionalRow) { - return additionalRow.getField(TYPE_FIELD).toUpperCase(Locale.ENGLISH).equals("VARIABLE"); + return additionalRow.getField(TRADE_TYPE_FIELD).toUpperCase(Locale.ENGLISH).equals("VARIABLE"); } @Override @@ -182,23 +182,23 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, SwaptionTrade trade) { Swaption product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "Swaption"); + csv.writeCell(TRADE_TYPE_FIELD, "Swaption"); VariableElements variableElements = FullSwapTradeCsvPlugin.INSTANCE.writeProduct(csv, product.getUnderlying()); - csv.writeCell(TradeCsvLoader.LONG_SHORT_FIELD, product.getLongShort()); + csv.writeCell(LONG_SHORT_FIELD, product.getLongShort()); writeSettlement(csv, product); - csv.writeCell(TradeCsvLoader.EXPIRY_DATE_FIELD, product.getExpiryDate().getUnadjusted()); + csv.writeCell(EXPIRY_DATE_FIELD, product.getExpiryDate().getUnadjusted()); if (!product.getExpiryDate().getAdjustment().equals(BusinessDayAdjustment.NONE)) { - csv.writeCell(TradeCsvLoader.EXPIRY_DATE_CNV_FIELD, product.getExpiryDate().getAdjustment().getConvention()); - csv.writeCell(TradeCsvLoader.EXPIRY_DATE_CAL_FIELD, product.getExpiryDate().getAdjustment().getCalendar()); + csv.writeCell(EXPIRY_DATE_CNV_FIELD, product.getExpiryDate().getAdjustment().getConvention()); + csv.writeCell(EXPIRY_DATE_CAL_FIELD, product.getExpiryDate().getAdjustment().getCalendar()); } - csv.writeCell(TradeCsvLoader.EXPIRY_TIME_FIELD, product.getExpiryTime()); - csv.writeCell(TradeCsvLoader.EXPIRY_ZONE_FIELD, product.getExpiryZone().getId()); - csv.writeCell(TradeCsvLoader.PREMIUM_DATE_FIELD, trade.getPremium().getDate().getUnadjusted()); - csv.writeCell(TradeCsvLoader.PREMIUM_DATE_CNV_FIELD, trade.getPremium().getDate().getAdjustment().getConvention()); - csv.writeCell(TradeCsvLoader.PREMIUM_DATE_CAL_FIELD, trade.getPremium().getDate().getAdjustment().getCalendar()); - csv.writeCell(TradeCsvLoader.PREMIUM_DIRECTION_FIELD, PayReceive.ofSignedAmount(trade.getPremium().getAmount())); - csv.writeCell(TradeCsvLoader.PREMIUM_CURRENCY_FIELD, trade.getPremium().getCurrency()); - csv.writeCell(TradeCsvLoader.PREMIUM_AMOUNT_FIELD, trade.getPremium().getAmount()); + csv.writeCell(EXPIRY_TIME_FIELD, product.getExpiryTime()); + csv.writeCell(EXPIRY_ZONE_FIELD, product.getExpiryZone().getId()); + csv.writeCell(PREMIUM_DATE_FIELD, trade.getPremium().getDate().getUnadjusted()); + csv.writeCell(PREMIUM_DATE_CNV_FIELD, trade.getPremium().getDate().getAdjustment().getConvention()); + csv.writeCell(PREMIUM_DATE_CAL_FIELD, trade.getPremium().getDate().getAdjustment().getCalendar()); + csv.writeCell(PREMIUM_DIRECTION_FIELD, PayReceive.ofSignedAmount(trade.getPremium().getAmount())); + csv.writeCell(PREMIUM_CURRENCY_FIELD, trade.getPremium().getCurrency()); + csv.writeCell(PREMIUM_AMOUNT_FIELD, trade.getPremium().getAmount()); csv.writeNewLine(); variableElements.writeLines(csv); } diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TermDepositTradeCsvPlugin.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TermDepositTradeCsvPlugin.java index 3e9a25cd89..1f1ac887a0 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TermDepositTradeCsvPlugin.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TermDepositTradeCsvPlugin.java @@ -5,19 +5,20 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONVENTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DAY_COUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXED_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TENOR_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; import static com.opengamma.strata.loader.csv.CsvLoaderUtils.formattedPercentage; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CONVENTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DAY_COUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIXED_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TENOR_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_DATE_FIELD; import java.time.LocalDate; import java.time.Period; @@ -213,7 +214,7 @@ public List headers(List trades) { @Override public void writeCsv(CsvRowOutputWithHeaders csv, TermDepositTrade trade) { TermDeposit product = trade.getProduct(); - csv.writeCell(TradeCsvLoader.TYPE_FIELD, "TermDeposit"); + csv.writeCell(TRADE_TYPE_FIELD, "TermDeposit"); csv.writeCell(BUY_SELL_FIELD, product.getBuySell()); csv.writeCell(CURRENCY_FIELD, product.getCurrency()); csv.writeCell(NOTIONAL_FIELD, product.getNotional()); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvInfoResolver.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvInfoResolver.java index 4f003d914b..d57009dbc0 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvInfoResolver.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvInfoResolver.java @@ -5,6 +5,10 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CCP_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DESCRIPTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NAME_FIELD; + import java.util.List; import java.util.Optional; @@ -73,11 +77,11 @@ public static TradeCsvInfoResolver of(ReferenceData refData) { * @param builder the builder to update */ public default void parseStandardAttributes(CsvRow row, TradeInfoBuilder builder) { - row.findValue(TradeCsvLoader.DESCRIPTION_FIELD) + row.findValue(DESCRIPTION_FIELD) .ifPresent(str -> builder.addAttribute(AttributeType.DESCRIPTION, str)); - row.findValue(TradeCsvLoader.NAME_FIELD) + row.findValue(NAME_FIELD) .ifPresent(str -> builder.addAttribute(AttributeType.NAME, str)); - row.findValue(TradeCsvLoader.CCP_FIELD) + row.findValue(CCP_FIELD) .ifPresent(str -> builder.addAttribute(AttributeType.CCP, CcpId.of(str))); } diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvLoader.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvLoader.java index e4ae3658d1..2259f4181c 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvLoader.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvLoader.java @@ -5,6 +5,15 @@ */ package com.opengamma.strata.loader.csv; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CPTY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CPTY_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SETTLEMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TIME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_ZONE_FIELD; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList; @@ -196,67 +205,6 @@ public final class TradeCsvLoader { private static final String DEFAULT_TRADE_SCHEME = StandardSchemes.OG_TRADE_SCHEME; private static final String DEFAULT_CPTY_SCHEME = StandardSchemes.OG_COUNTERPARTY; - // common CSV headers - static final String CONVENTION_FIELD = "Convention"; - static final String BUY_SELL_FIELD = "Buy Sell"; - static final String DIRECTION_FIELD = "Direction"; - static final String CURRENCY_FIELD = "Currency"; - static final String NOTIONAL_FIELD = "Notional"; - static final String INDEX_FIELD = "Index"; - static final String INTERPOLATED_INDEX_FIELD = "Interpolated Index"; - static final String FIXED_RATE_FIELD = "Fixed Rate"; - static final String PERIOD_TO_START_FIELD = "Period To Start"; - static final String TENOR_FIELD = "Tenor"; - static final String START_DATE_FIELD = "Start Date"; - static final String END_DATE_FIELD = "End Date"; - static final String DATE_ADJ_CNV_FIELD = "Date Convention"; - static final String DATE_ADJ_CAL_FIELD = "Date Calendar"; - static final String DAY_COUNT_FIELD = "Day Count"; - static final String FX_RATE_FIELD = "FX Rate"; - static final String PAYMENT_DATE_FIELD = "Payment Date"; - static final String PAYMENT_DATE_CNV_FIELD = "Payment Date Convention"; - static final String PAYMENT_DATE_CAL_FIELD = "Payment Date Calendar"; - static final String LONG_SHORT_FIELD = "Long Short"; - static final String EXPIRY_DATE_FIELD = "Expiry Date"; - static final String EXPIRY_DATE_CNV_FIELD = "Expiry Date Convention"; - static final String EXPIRY_DATE_CAL_FIELD = "Expiry Date Calendar"; - static final String EXPIRY_TIME_FIELD = "Expiry Time"; - static final String EXPIRY_ZONE_FIELD = "Expiry Zone"; - static final String PREMIUM_CURRENCY_FIELD = "Premium Currency"; - static final String PREMIUM_AMOUNT_FIELD = "Premium Amount"; - static final String PREMIUM_DIRECTION_FIELD = "Premium Direction"; - static final String PREMIUM_DATE_FIELD = "Premium Date"; - static final String PREMIUM_DATE_CNV_FIELD = "Premium Date Convention"; - static final String PREMIUM_DATE_CAL_FIELD = "Premium Date Calendar"; - static final String FRA_DISCOUNTING_FIELD = "FRA Discounting Method"; - - static final String FREQUENCY_FIELD = "Frequency"; - static final String START_DATE_CNV_FIELD = "Start Date Convention"; - static final String START_DATE_CAL_FIELD = "Start Date Calendar"; - static final String END_DATE_CNV_FIELD = "End Date Convention"; - static final String END_DATE_CAL_FIELD = "End Date Calendar"; - static final String ROLL_CONVENTION_FIELD = "Roll Convention"; - static final String STUB_CONVENTION_FIELD = "Stub Convention"; - static final String FIRST_REGULAR_START_DATE_FIELD = "First Regular Start Date"; - static final String LAST_REGULAR_END_DATE_FIELD = "Last Regular End Date"; - static final String OVERRIDE_START_DATE_FIELD = "Override Start Date"; - static final String OVERRIDE_START_DATE_CNV_FIELD = "Override Start Date Convention"; - static final String OVERRIDE_START_DATE_CAL_FIELD = "Override Start Date Calendar"; - - // basic CSV column headers - static final String TYPE_FIELD = "Strata Trade Type"; - static final String ID_SCHEME_FIELD = "Id Scheme"; - static final String ID_FIELD = "Id"; - static final String DESCRIPTION_FIELD = "Description"; - static final String NAME_FIELD = "Name"; - static final String CCP_FIELD = "CCP"; - static final String CPTY_SCHEME_FIELD = "Counterparty Scheme"; - static final String CPTY_FIELD = "Counterparty"; - static final String TRADE_DATE_FIELD = "Trade Date"; - static final String TRADE_TIME_FIELD = "Trade Time"; - static final String TRADE_ZONE_FIELD = "Trade Zone"; - static final String SETTLEMENT_DATE_FIELD = "Settlement Date"; - /** * The lookup of trade parsers. */ @@ -354,7 +302,7 @@ public ValueWithFailures> load(Collection resources */ public boolean isKnownFormat(CharSource charSource) { try (CsvIterator csv = CsvIterator.of(charSource, true)) { - return csv.containsHeader(TYPE_FIELD); + return csv.containsHeader(TRADE_TYPE_FIELD); } catch (RuntimeException ex) { return false; } @@ -439,10 +387,11 @@ public ValueWithFailures> parse(Collection // loads a single CSV file, filtering by trade type private ValueWithFailures> parseFile(CharSource charSource, Class tradeType) { try (CsvIterator csv = CsvIterator.of(charSource, true)) { - if (!csv.headers().contains(TYPE_FIELD)) { + if (!csv.headers().contains(TRADE_TYPE_FIELD)) { return ValueWithFailures.of( ImmutableList.of(), - FailureItem.of(FailureReason.PARSING, "CSV file does not contain '{header}' header: {}", TYPE_FIELD, charSource)); + FailureItem.of(FailureReason.PARSING, "CSV file does not contain '{header}' header: {}", TRADE_TYPE_FIELD, + charSource)); } return parseFile(csv, tradeType); @@ -461,7 +410,7 @@ private ValueWithFailures> parseFile(CsvIterator csv, List failures = new ArrayList<>(); rows: for (CsvRow row : csv.asIterable()) { - String typeRaw = row.findField(TYPE_FIELD).orElse(""); + String typeRaw = row.findField(TRADE_TYPE_FIELD).orElse(""); String typeUpper = typeRaw.toUpperCase(Locale.ENGLISH); try { TradeInfo info = parseTradeInfo(row); @@ -531,7 +480,8 @@ private TradeInfo parseTradeInfo(CsvRow row) { row.findValue(TRADE_DATE_FIELD).ifPresent(dateStr -> infoBuilder.tradeDate(LoaderUtils.parseDate(dateStr))); row.findValue(TRADE_TIME_FIELD).ifPresent(timeStr -> infoBuilder.tradeTime(LoaderUtils.parseTime(timeStr))); row.findValue(TRADE_ZONE_FIELD).ifPresent(zoneStr -> infoBuilder.zone(ZoneId.of(zoneStr))); - row.findValue(SETTLEMENT_DATE_FIELD).ifPresent(dateStr -> infoBuilder.settlementDate(LoaderUtils.parseDate(dateStr))); + row.findValue(SETTLEMENT_DATE_FIELD) + .ifPresent(dateStr -> infoBuilder.settlementDate(LoaderUtils.parseDate(dateStr))); resolver.parseStandardAttributes(row, infoBuilder); resolver.parseTradeInfo(row, infoBuilder); return infoBuilder.build(); diff --git a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvWriter.java b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvWriter.java index 795512091b..4cba8b5ec1 100644 --- a/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvWriter.java +++ b/modules/loader/src/main/java/com/opengamma/strata/loader/csv/TradeCsvWriter.java @@ -6,41 +6,41 @@ package com.opengamma.strata.loader.csv; import static com.opengamma.strata.collect.Guavate.toImmutableList; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.CONTRACT_SIZE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.PRICE_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.QUANTITY_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.SECURITY_ID_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.SECURITY_ID_SCHEME_FIELD; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.TICK_SIZE; -import static com.opengamma.strata.loader.csv.CsvLoaderUtils.TICK_VALUE; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.BUY_SELL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CCP_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CPTY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CPTY_SCHEME_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.CURRENCY_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DATE_ADJ_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DAY_COUNT_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DESCRIPTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.DIRECTION_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.END_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FIXED_RATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.FRA_DISCOUNTING_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.ID_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.ID_SCHEME_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.INDEX_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.INTERPOLATED_INDEX_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NAME_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.NOTIONAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CAL_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_CNV_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.PAYMENT_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.SETTLEMENT_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.START_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_DATE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_TIME_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TRADE_ZONE_FIELD; -import static com.opengamma.strata.loader.csv.TradeCsvLoader.TYPE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.BUY_SELL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CCP_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CONTRACT_SIZE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CPTY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CPTY_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.CURRENCY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DATE_ADJ_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DAY_COUNT_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DESCRIPTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.DIRECTION_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.END_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FIXED_RATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.FRA_DISCOUNTING_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.INTERPOLATED_INDEX_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NAME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.NOTIONAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CAL_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_CNV_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PAYMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.PRICE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.QUANTITY_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SECURITY_ID_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SECURITY_ID_SCHEME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.SETTLEMENT_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.START_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TICK_SIZE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TICK_VALUE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_DATE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TIME_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_TYPE_FIELD; +import static com.opengamma.strata.loader.csv.CsvLoaderColumns.TRADE_ZONE_FIELD; import static java.util.stream.Collectors.groupingBy; import java.io.UncheckedIOException; @@ -125,7 +125,7 @@ public final class TradeCsvWriter { * This sorts some of the columns (not all of them). */ private static final ImmutableList HEADER_ORDER = ImmutableList.of( - TYPE_FIELD, + TRADE_TYPE_FIELD, ID_SCHEME_FIELD, ID_FIELD, DESCRIPTION_FIELD, @@ -143,9 +143,9 @@ public final class TradeCsvWriter { SECURITY_ID_SCHEME_FIELD, SECURITY_ID_FIELD, PRICE_FIELD, - TICK_SIZE, - TICK_VALUE, - CONTRACT_SIZE, + TICK_SIZE_FIELD, + TICK_VALUE_FIELD, + CONTRACT_SIZE_FIELD, CURRENCY_FIELD, NOTIONAL_FIELD, START_DATE_FIELD, @@ -244,7 +244,7 @@ private List headers(List trades) { Set headers = new LinkedHashSet<>(); // common headers - headers.add(TYPE_FIELD); + headers.add(TRADE_TYPE_FIELD); if (trades.stream().anyMatch(trade -> trade.getInfo().getId().isPresent())) { headers.add(ID_SCHEME_FIELD); headers.add(ID_FIELD); @@ -288,7 +288,7 @@ private List headers(List trades) { throw new IllegalArgumentException( "Unable to write trade type to CSV: " + entry.getKey().getSimpleName()); } - headers.addAll(detailsWriter.headers((List) entry.getValue())); + headers.addAll(detailsWriter.headers(entry.getValue())); } return headers.stream().sorted(HEADER_COMPARATOR).collect(toImmutableList()); }