/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.component.factory.tool; import java.util.LinkedHashMap; import java.util.Map; import org.joda.beans.Bean; import org.joda.beans.BeanBuilder; import org.joda.beans.BeanDefinition; import org.joda.beans.JodaBeanUtils; import org.joda.beans.MetaProperty; import org.joda.beans.Property; import org.joda.beans.PropertyDefinition; import org.joda.beans.impl.direct.DirectBeanBuilder; import org.joda.beans.impl.direct.DirectMetaProperty; import org.joda.beans.impl.direct.DirectMetaPropertyMap; import com.opengamma.component.ComponentRepository; import com.opengamma.component.factory.AbstractComponentFactory; import com.opengamma.core.historicaltimeseries.HistoricalTimeSeriesSource; import com.opengamma.financial.convention.ConventionInstrumentTimeSeriesLoader; import com.opengamma.id.ExternalScheme; import com.opengamma.master.historicaltimeseries.HistoricalTimeSeriesLoader; // TODO jonathan 2012-02-17 -- come back to this when we have some established way of using the component factory // infrastructure to run 'tools'. Currently this is designed to sit at the end of an ini file where the tool will be // run. It isn't a 'component factory' at all. /** * Component factory which runs the {@link ConventionInstrumentTimeSeriesLoader}. */ @BeanDefinition public class ConventionInstrumentTimeSeriesLoaderTool extends AbstractComponentFactory { @PropertyDefinition(validate = "notNull") private HistoricalTimeSeriesSource _historicalTimeSeriesSource; @PropertyDefinition(validate = "notNull") private HistoricalTimeSeriesLoader _historicalTimeSeriesLoader; @PropertyDefinition(validate = "notNull") private String _dataSource; @PropertyDefinition(validate = "notNull") private String _dataProvider; @PropertyDefinition(validate = "notNull") private String _dataField; @PropertyDefinition(validate = "notNull") private String _identifierScheme; @PropertyDefinition private boolean _updateExisting; @Override public void init(ComponentRepository repo, LinkedHashMap<String, String> configuration) throws Exception { ConventionInstrumentTimeSeriesLoader loader = new ConventionInstrumentTimeSeriesLoader( getHistoricalTimeSeriesSource(), getHistoricalTimeSeriesLoader(), getDataSource(), getDataProvider(), getDataField(), ExternalScheme.of(getIdentifierScheme()), isUpdateExisting()); loader.run(); System.out.println("Convention instrument time-series loader completed"); System.exit(0); } //------------------------- AUTOGENERATED START ------------------------- ///CLOVER:OFF /** * The meta-bean for {@code ConventionInstrumentTimeSeriesLoaderTool}. * @return the meta-bean, not null */ public static ConventionInstrumentTimeSeriesLoaderTool.Meta meta() { return ConventionInstrumentTimeSeriesLoaderTool.Meta.INSTANCE; } static { JodaBeanUtils.registerMetaBean(ConventionInstrumentTimeSeriesLoaderTool.Meta.INSTANCE); } @Override public ConventionInstrumentTimeSeriesLoaderTool.Meta metaBean() { return ConventionInstrumentTimeSeriesLoaderTool.Meta.INSTANCE; } //----------------------------------------------------------------------- /** * Gets the historicalTimeSeriesSource. * @return the value of the property, not null */ public HistoricalTimeSeriesSource getHistoricalTimeSeriesSource() { return _historicalTimeSeriesSource; } /** * Sets the historicalTimeSeriesSource. * @param historicalTimeSeriesSource the new value of the property, not null */ public void setHistoricalTimeSeriesSource(HistoricalTimeSeriesSource historicalTimeSeriesSource) { JodaBeanUtils.notNull(historicalTimeSeriesSource, "historicalTimeSeriesSource"); this._historicalTimeSeriesSource = historicalTimeSeriesSource; } /** * Gets the the {@code historicalTimeSeriesSource} property. * @return the property, not null */ public final Property<HistoricalTimeSeriesSource> historicalTimeSeriesSource() { return metaBean().historicalTimeSeriesSource().createProperty(this); } //----------------------------------------------------------------------- /** * Gets the historicalTimeSeriesLoader. * @return the value of the property, not null */ public HistoricalTimeSeriesLoader getHistoricalTimeSeriesLoader() { return _historicalTimeSeriesLoader; } /** * Sets the historicalTimeSeriesLoader. * @param historicalTimeSeriesLoader the new value of the property, not null */ public void setHistoricalTimeSeriesLoader(HistoricalTimeSeriesLoader historicalTimeSeriesLoader) { JodaBeanUtils.notNull(historicalTimeSeriesLoader, "historicalTimeSeriesLoader"); this._historicalTimeSeriesLoader = historicalTimeSeriesLoader; } /** * Gets the the {@code historicalTimeSeriesLoader} property. * @return the property, not null */ public final Property<HistoricalTimeSeriesLoader> historicalTimeSeriesLoader() { return metaBean().historicalTimeSeriesLoader().createProperty(this); } //----------------------------------------------------------------------- /** * Gets the dataSource. * @return the value of the property, not null */ public String getDataSource() { return _dataSource; } /** * Sets the dataSource. * @param dataSource the new value of the property, not null */ public void setDataSource(String dataSource) { JodaBeanUtils.notNull(dataSource, "dataSource"); this._dataSource = dataSource; } /** * Gets the the {@code dataSource} property. * @return the property, not null */ public final Property<String> dataSource() { return metaBean().dataSource().createProperty(this); } //----------------------------------------------------------------------- /** * Gets the dataProvider. * @return the value of the property, not null */ public String getDataProvider() { return _dataProvider; } /** * Sets the dataProvider. * @param dataProvider the new value of the property, not null */ public void setDataProvider(String dataProvider) { JodaBeanUtils.notNull(dataProvider, "dataProvider"); this._dataProvider = dataProvider; } /** * Gets the the {@code dataProvider} property. * @return the property, not null */ public final Property<String> dataProvider() { return metaBean().dataProvider().createProperty(this); } //----------------------------------------------------------------------- /** * Gets the dataField. * @return the value of the property, not null */ public String getDataField() { return _dataField; } /** * Sets the dataField. * @param dataField the new value of the property, not null */ public void setDataField(String dataField) { JodaBeanUtils.notNull(dataField, "dataField"); this._dataField = dataField; } /** * Gets the the {@code dataField} property. * @return the property, not null */ public final Property<String> dataField() { return metaBean().dataField().createProperty(this); } //----------------------------------------------------------------------- /** * Gets the identifierScheme. * @return the value of the property, not null */ public String getIdentifierScheme() { return _identifierScheme; } /** * Sets the identifierScheme. * @param identifierScheme the new value of the property, not null */ public void setIdentifierScheme(String identifierScheme) { JodaBeanUtils.notNull(identifierScheme, "identifierScheme"); this._identifierScheme = identifierScheme; } /** * Gets the the {@code identifierScheme} property. * @return the property, not null */ public final Property<String> identifierScheme() { return metaBean().identifierScheme().createProperty(this); } //----------------------------------------------------------------------- /** * Gets the updateExisting. * @return the value of the property */ public boolean isUpdateExisting() { return _updateExisting; } /** * Sets the updateExisting. * @param updateExisting the new value of the property */ public void setUpdateExisting(boolean updateExisting) { this._updateExisting = updateExisting; } /** * Gets the the {@code updateExisting} property. * @return the property, not null */ public final Property<Boolean> updateExisting() { return metaBean().updateExisting().createProperty(this); } //----------------------------------------------------------------------- @Override public ConventionInstrumentTimeSeriesLoaderTool clone() { return JodaBeanUtils.cloneAlways(this); } @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj != null && obj.getClass() == this.getClass()) { ConventionInstrumentTimeSeriesLoaderTool other = (ConventionInstrumentTimeSeriesLoaderTool) obj; return JodaBeanUtils.equal(getHistoricalTimeSeriesSource(), other.getHistoricalTimeSeriesSource()) && JodaBeanUtils.equal(getHistoricalTimeSeriesLoader(), other.getHistoricalTimeSeriesLoader()) && JodaBeanUtils.equal(getDataSource(), other.getDataSource()) && JodaBeanUtils.equal(getDataProvider(), other.getDataProvider()) && JodaBeanUtils.equal(getDataField(), other.getDataField()) && JodaBeanUtils.equal(getIdentifierScheme(), other.getIdentifierScheme()) && (isUpdateExisting() == other.isUpdateExisting()) && super.equals(obj); } return false; } @Override public int hashCode() { int hash = 7; hash = hash * 31 + JodaBeanUtils.hashCode(getHistoricalTimeSeriesSource()); hash = hash * 31 + JodaBeanUtils.hashCode(getHistoricalTimeSeriesLoader()); hash = hash * 31 + JodaBeanUtils.hashCode(getDataSource()); hash = hash * 31 + JodaBeanUtils.hashCode(getDataProvider()); hash = hash * 31 + JodaBeanUtils.hashCode(getDataField()); hash = hash * 31 + JodaBeanUtils.hashCode(getIdentifierScheme()); hash = hash * 31 + JodaBeanUtils.hashCode(isUpdateExisting()); return hash ^ super.hashCode(); } @Override public String toString() { StringBuilder buf = new StringBuilder(256); buf.append("ConventionInstrumentTimeSeriesLoaderTool{"); int len = buf.length(); toString(buf); if (buf.length() > len) { buf.setLength(buf.length() - 2); } buf.append('}'); return buf.toString(); } @Override protected void toString(StringBuilder buf) { super.toString(buf); buf.append("historicalTimeSeriesSource").append('=').append(JodaBeanUtils.toString(getHistoricalTimeSeriesSource())).append(',').append(' '); buf.append("historicalTimeSeriesLoader").append('=').append(JodaBeanUtils.toString(getHistoricalTimeSeriesLoader())).append(',').append(' '); buf.append("dataSource").append('=').append(JodaBeanUtils.toString(getDataSource())).append(',').append(' '); buf.append("dataProvider").append('=').append(JodaBeanUtils.toString(getDataProvider())).append(',').append(' '); buf.append("dataField").append('=').append(JodaBeanUtils.toString(getDataField())).append(',').append(' '); buf.append("identifierScheme").append('=').append(JodaBeanUtils.toString(getIdentifierScheme())).append(',').append(' '); buf.append("updateExisting").append('=').append(JodaBeanUtils.toString(isUpdateExisting())).append(',').append(' '); } //----------------------------------------------------------------------- /** * The meta-bean for {@code ConventionInstrumentTimeSeriesLoaderTool}. */ public static class Meta extends AbstractComponentFactory.Meta { /** * The singleton instance of the meta-bean. */ static final Meta INSTANCE = new Meta(); /** * The meta-property for the {@code historicalTimeSeriesSource} property. */ private final MetaProperty<HistoricalTimeSeriesSource> _historicalTimeSeriesSource = DirectMetaProperty.ofReadWrite( this, "historicalTimeSeriesSource", ConventionInstrumentTimeSeriesLoaderTool.class, HistoricalTimeSeriesSource.class); /** * The meta-property for the {@code historicalTimeSeriesLoader} property. */ private final MetaProperty<HistoricalTimeSeriesLoader> _historicalTimeSeriesLoader = DirectMetaProperty.ofReadWrite( this, "historicalTimeSeriesLoader", ConventionInstrumentTimeSeriesLoaderTool.class, HistoricalTimeSeriesLoader.class); /** * The meta-property for the {@code dataSource} property. */ private final MetaProperty<String> _dataSource = DirectMetaProperty.ofReadWrite( this, "dataSource", ConventionInstrumentTimeSeriesLoaderTool.class, String.class); /** * The meta-property for the {@code dataProvider} property. */ private final MetaProperty<String> _dataProvider = DirectMetaProperty.ofReadWrite( this, "dataProvider", ConventionInstrumentTimeSeriesLoaderTool.class, String.class); /** * The meta-property for the {@code dataField} property. */ private final MetaProperty<String> _dataField = DirectMetaProperty.ofReadWrite( this, "dataField", ConventionInstrumentTimeSeriesLoaderTool.class, String.class); /** * The meta-property for the {@code identifierScheme} property. */ private final MetaProperty<String> _identifierScheme = DirectMetaProperty.ofReadWrite( this, "identifierScheme", ConventionInstrumentTimeSeriesLoaderTool.class, String.class); /** * The meta-property for the {@code updateExisting} property. */ private final MetaProperty<Boolean> _updateExisting = DirectMetaProperty.ofReadWrite( this, "updateExisting", ConventionInstrumentTimeSeriesLoaderTool.class, Boolean.TYPE); /** * The meta-properties. */ private final Map<String, MetaProperty<?>> _metaPropertyMap$ = new DirectMetaPropertyMap( this, (DirectMetaPropertyMap) super.metaPropertyMap(), "historicalTimeSeriesSource", "historicalTimeSeriesLoader", "dataSource", "dataProvider", "dataField", "identifierScheme", "updateExisting"); /** * Restricted constructor. */ protected Meta() { } @Override protected MetaProperty<?> metaPropertyGet(String propertyName) { switch (propertyName.hashCode()) { case 358729161: // historicalTimeSeriesSource return _historicalTimeSeriesSource; case 157715905: // historicalTimeSeriesLoader return _historicalTimeSeriesLoader; case 1272470629: // dataSource return _dataSource; case 339742651: // dataProvider return _dataProvider; case -386794640: // dataField return _dataField; case 144370606: // identifierScheme return _identifierScheme; case -1252525708: // updateExisting return _updateExisting; } return super.metaPropertyGet(propertyName); } @Override public BeanBuilder<? extends ConventionInstrumentTimeSeriesLoaderTool> builder() { return new DirectBeanBuilder<ConventionInstrumentTimeSeriesLoaderTool>(new ConventionInstrumentTimeSeriesLoaderTool()); } @Override public Class<? extends ConventionInstrumentTimeSeriesLoaderTool> beanType() { return ConventionInstrumentTimeSeriesLoaderTool.class; } @Override public Map<String, MetaProperty<?>> metaPropertyMap() { return _metaPropertyMap$; } //----------------------------------------------------------------------- /** * The meta-property for the {@code historicalTimeSeriesSource} property. * @return the meta-property, not null */ public final MetaProperty<HistoricalTimeSeriesSource> historicalTimeSeriesSource() { return _historicalTimeSeriesSource; } /** * The meta-property for the {@code historicalTimeSeriesLoader} property. * @return the meta-property, not null */ public final MetaProperty<HistoricalTimeSeriesLoader> historicalTimeSeriesLoader() { return _historicalTimeSeriesLoader; } /** * The meta-property for the {@code dataSource} property. * @return the meta-property, not null */ public final MetaProperty<String> dataSource() { return _dataSource; } /** * The meta-property for the {@code dataProvider} property. * @return the meta-property, not null */ public final MetaProperty<String> dataProvider() { return _dataProvider; } /** * The meta-property for the {@code dataField} property. * @return the meta-property, not null */ public final MetaProperty<String> dataField() { return _dataField; } /** * The meta-property for the {@code identifierScheme} property. * @return the meta-property, not null */ public final MetaProperty<String> identifierScheme() { return _identifierScheme; } /** * The meta-property for the {@code updateExisting} property. * @return the meta-property, not null */ public final MetaProperty<Boolean> updateExisting() { return _updateExisting; } //----------------------------------------------------------------------- @Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 358729161: // historicalTimeSeriesSource return ((ConventionInstrumentTimeSeriesLoaderTool) bean).getHistoricalTimeSeriesSource(); case 157715905: // historicalTimeSeriesLoader return ((ConventionInstrumentTimeSeriesLoaderTool) bean).getHistoricalTimeSeriesLoader(); case 1272470629: // dataSource return ((ConventionInstrumentTimeSeriesLoaderTool) bean).getDataSource(); case 339742651: // dataProvider return ((ConventionInstrumentTimeSeriesLoaderTool) bean).getDataProvider(); case -386794640: // dataField return ((ConventionInstrumentTimeSeriesLoaderTool) bean).getDataField(); case 144370606: // identifierScheme return ((ConventionInstrumentTimeSeriesLoaderTool) bean).getIdentifierScheme(); case -1252525708: // updateExisting return ((ConventionInstrumentTimeSeriesLoaderTool) bean).isUpdateExisting(); } return super.propertyGet(bean, propertyName, quiet); } @Override protected void propertySet(Bean bean, String propertyName, Object newValue, boolean quiet) { switch (propertyName.hashCode()) { case 358729161: // historicalTimeSeriesSource ((ConventionInstrumentTimeSeriesLoaderTool) bean).setHistoricalTimeSeriesSource((HistoricalTimeSeriesSource) newValue); return; case 157715905: // historicalTimeSeriesLoader ((ConventionInstrumentTimeSeriesLoaderTool) bean).setHistoricalTimeSeriesLoader((HistoricalTimeSeriesLoader) newValue); return; case 1272470629: // dataSource ((ConventionInstrumentTimeSeriesLoaderTool) bean).setDataSource((String) newValue); return; case 339742651: // dataProvider ((ConventionInstrumentTimeSeriesLoaderTool) bean).setDataProvider((String) newValue); return; case -386794640: // dataField ((ConventionInstrumentTimeSeriesLoaderTool) bean).setDataField((String) newValue); return; case 144370606: // identifierScheme ((ConventionInstrumentTimeSeriesLoaderTool) bean).setIdentifierScheme((String) newValue); return; case -1252525708: // updateExisting ((ConventionInstrumentTimeSeriesLoaderTool) bean).setUpdateExisting((Boolean) newValue); return; } super.propertySet(bean, propertyName, newValue, quiet); } @Override protected void validate(Bean bean) { JodaBeanUtils.notNull(((ConventionInstrumentTimeSeriesLoaderTool) bean)._historicalTimeSeriesSource, "historicalTimeSeriesSource"); JodaBeanUtils.notNull(((ConventionInstrumentTimeSeriesLoaderTool) bean)._historicalTimeSeriesLoader, "historicalTimeSeriesLoader"); JodaBeanUtils.notNull(((ConventionInstrumentTimeSeriesLoaderTool) bean)._dataSource, "dataSource"); JodaBeanUtils.notNull(((ConventionInstrumentTimeSeriesLoaderTool) bean)._dataProvider, "dataProvider"); JodaBeanUtils.notNull(((ConventionInstrumentTimeSeriesLoaderTool) bean)._dataField, "dataField"); JodaBeanUtils.notNull(((ConventionInstrumentTimeSeriesLoaderTool) bean)._identifierScheme, "identifierScheme"); super.validate(bean); } } ///CLOVER:ON //-------------------------- AUTOGENERATED END -------------------------- }