/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.depgraph.rest; import org.springframework.beans.factory.InitializingBean; import com.opengamma.engine.depgraph.DependencyGraphBuilderFactory; import com.opengamma.engine.function.CompiledFunctionService; import com.opengamma.engine.function.FunctionCompilationContext; import com.opengamma.engine.function.exclusion.FunctionExclusionGroups; import com.opengamma.engine.function.resolver.DefaultFunctionResolver; import com.opengamma.engine.function.resolver.FunctionResolver; import com.opengamma.engine.marketdata.resolver.MarketDataProviderResolver; import com.opengamma.util.ArgumentChecker; /** * Context for use with the REST diagnostic dependency graph builder. */ public class DependencyGraphBuilderResourceContextBean implements InitializingBean { private DependencyGraphBuilderFactory _graphBuilders = new DependencyGraphBuilderFactory(); private MarketDataProviderResolver _marketDataProviderResolver; private FunctionCompilationContext _compilationContext; private FunctionResolver _functionResolver; private FunctionExclusionGroups _functionExclusionGroups; public void setDependencyGraphBuilderFactory(final DependencyGraphBuilderFactory graphBuilders) { _graphBuilders = graphBuilders; } public DependencyGraphBuilderFactory getDependencyGraphBuilderFactory() { return _graphBuilders; } public void setMarketDataProviderResolver(final MarketDataProviderResolver marketDataProviderResolver) { _marketDataProviderResolver = marketDataProviderResolver; } public MarketDataProviderResolver getMarketDataProviderResolver() { return _marketDataProviderResolver; } public void setFunctionCompilationContext(final FunctionCompilationContext compilationContext) { _compilationContext = compilationContext; } public FunctionCompilationContext getFunctionCompilationContext() { return _compilationContext; } public void setFunctionResolver(final FunctionResolver functionResolver) { _functionResolver = functionResolver; } public FunctionResolver getFunctionResolver() { return _functionResolver; } public void setFunctionExclusionGroups(final FunctionExclusionGroups functionExclusionGroups) { _functionExclusionGroups = functionExclusionGroups; } public FunctionExclusionGroups getFunctionExclusionGroups() { return _functionExclusionGroups; } public void setCompiledFunctionService(final CompiledFunctionService cfs) { setFunctionCompilationContext(cfs.getFunctionCompilationContext()); if (getFunctionResolver() == null) { setFunctionResolver(new DefaultFunctionResolver(cfs)); } } @Override public void afterPropertiesSet() throws Exception { ArgumentChecker.notNull(getDependencyGraphBuilderFactory(), "dependencyGraphBuilderFactory"); ArgumentChecker.notNull(getMarketDataProviderResolver(), "marketDataProviderResolver"); ArgumentChecker.notNull(getFunctionCompilationContext(), "functionCompilationContext"); ArgumentChecker.notNull(getFunctionResolver(), "functionResolver"); } }