/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.tool.portfolio; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; import com.opengamma.component.tool.AbstractTool; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.financial.generator.AbstractPortfolioGeneratorTool; import com.opengamma.financial.generator.SecurityGenerator; import com.opengamma.id.ExternalId; import com.opengamma.integration.tool.IntegrationToolContext; import com.opengamma.util.function.BiFunction; import com.opengamma.util.money.Currency; /** * Utility for generating a portfolio of securities. */ public class PortfolioGeneratorTool extends AbstractPortfolioGeneratorTool { protected void configureChain(final SecurityGenerator<?> securityGenerator) { super.configureChain(securityGenerator); securityGenerator.setCurrencyCurveName("DEFAULT"); securityGenerator.setPreferredScheme(ExternalSchemes.BLOOMBERG_TICKER); securityGenerator.setSpotRateIdentifier(new BiFunction<Currency, Currency, ExternalId>() { @Override public ExternalId apply(Currency a, Currency b) { return ExternalId.of(ExternalSchemes.BLOOMBERG_TICKER, a.getCode() + b.getCode() + " Curncy"); } }); } public static void main(final String[] args) { // CSIGNORE AbstractTool<IntegrationToolContext> tool = new AbstractTool<IntegrationToolContext>() { private final PortfolioGeneratorTool _instance = new PortfolioGeneratorTool(); @Override protected Options createOptions(boolean mandatoryConfigResource) { final Options options = super.createOptions(mandatoryConfigResource); _instance.createOptions(options); return options; } @Override protected void doRun() throws Exception { final CommandLine commandLine = getCommandLine(); _instance.run(getToolContext(), commandLine); } @Override protected Class<?> getEntryPointClass() { return PortfolioGeneratorTool.class; } }; tool.invokeAndTerminate(args); } }