List of usage examples for com.google.common.collect Iterables getOnlyElement
public static <T> T getOnlyElement(Iterable<T> iterable)
From source file:com.opengamma.financial.analytics.model.credit.ISDACreditSpreadCurveShiftFunction.java
@Override public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues) throws AsynchronousExecution { final ValueRequirement desiredValue = Iterables.getOnlyElement(desiredValues); final ValueSpecification input = Iterables.getOnlyElement(inputs.getAllValues()).getSpecification(); final Object creditSpreadCurveObject = inputs.getValue(ValueRequirementNames.CREDIT_SPREAD_CURVE); if (creditSpreadCurveObject == null) { throw new OpenGammaRuntimeException("Could not get credit spread curve"); }/* ww w.j ava 2s . c o m*/ @SuppressWarnings("unchecked") final NodalObjectsCurve<Tenor, Double> creditSpreadCurve = (NodalObjectsCurve<Tenor, Double>) creditSpreadCurveObject; final String shiftProperty = desiredValue.getConstraint(PROPERTY_SPREAD_CURVE_SHIFT); final String shiftTypeProperty = desiredValue.getConstraint(PROPERTY_SPREAD_CURVE_SHIFT_TYPE); final double shift = Double.parseDouble(shiftProperty); final Tenor[] xs = creditSpreadCurve.getXData(); final Double[] ys = creditSpreadCurve.getYData(); final Double[] shiftedYs = new Double[ys.length]; switch (shiftTypeProperty) { case ADDITIVE_SPREAD_CURVE_SHIFT: for (int i = 0; i < ys.length; i++) { shiftedYs[i] = ys[i] + shift; } break; case MULTIPLICATIVE_SPREAD_CURVE_SHIFT: for (int i = 0; i < ys.length; i++) { shiftedYs[i] = ys[i] * (1 + shift / 100.); } break; default: throw new OpenGammaRuntimeException("Spread curve shift type not recognised" + shiftTypeProperty); } final String name = PREFIX + creditSpreadCurve.getName(); final NodalObjectsCurve<Tenor, Double> shiftedCurve = NodalObjectsCurve.from(xs, shiftedYs, name); final ValueProperties properties = createValueProperties(input) .with(PROPERTY_SPREAD_CURVE_SHIFT, shiftProperty) .with(PROPERTY_SPREAD_CURVE_SHIFT_TYPE, shiftTypeProperty).get(); return Collections.singleton(new ComputedValue( new ValueSpecification(input.getValueName(), input.getTargetSpecification(), properties), shiftedCurve)); }
From source file:org.apache.beam.runners.direct.WindowEvaluatorFactory.java
private <InputT> TransformEvaluator<InputT> createTransformEvaluator( AppliedPTransform<PCollection<InputT>, PCollection<InputT>, Window.Assign<InputT>> transform) { WindowFn<? super InputT, ?> fn = transform.getTransform().getWindowFn(); UncommittedBundle<InputT> outputBundle = evaluationContext .createBundle((PCollection<InputT>) Iterables.getOnlyElement(transform.getOutputs().values())); if (fn == null) { return PassthroughTransformEvaluator.create(transform, outputBundle); }//from w w w .j a v a2 s. c o m return new WindowIntoEvaluator<>(transform, fn, outputBundle); }
From source file:com.facebook.presto.connector.dual.DualSplitManager.java
@Override public Iterable<Split> getPartitionSplits(TableHandle table, List<Partition> partitions) { checkNotNull(partitions, "partitions is null"); if (partitions.isEmpty()) { return ImmutableList.of(); }/*from w ww.ja v a 2 s .c o m*/ Partition partition = Iterables.getOnlyElement(partitions); checkArgument(partition instanceof DualPartition, "Partition must be a dual partition"); Split split = new DualSplit(nodeManager.getCurrentNode().getHostAndPort()); return ImmutableList.of(split); }
From source file:com.metamx.druid.merger.common.task.KillTask.java
@Override public TaskStatus run(TaskToolbox toolbox) throws Exception { // Confirm we have a lock (will throw if there isn't exactly one element) final TaskLock myLock = Iterables .getOnlyElement(toolbox.getTaskActionClient().submit(new LockListAction())); if (!myLock.getDataSource().equals(getDataSource())) { throw new ISE("WTF?! Lock dataSource[%s] != task dataSource[%s]", myLock.getDataSource(), getDataSource());/*from www. ja va 2 s. c o m*/ } if (!myLock.getInterval().equals(getImplicitLockInterval().get())) { throw new ISE("WTF?! Lock interval[%s] != task interval[%s]", myLock.getInterval(), getImplicitLockInterval().get()); } // List unused segments final List<DataSegment> unusedSegments = toolbox.getTaskActionClient() .submit(new SegmentListUnusedAction(myLock.getDataSource(), myLock.getInterval())); // Verify none of these segments have versions > lock version for (final DataSegment unusedSegment : unusedSegments) { if (unusedSegment.getVersion().compareTo(myLock.getVersion()) > 0) { throw new ISE("WTF?! Unused segment[%s] has version[%s] > task version[%s]", unusedSegment.getIdentifier(), unusedSegment.getVersion(), myLock.getVersion()); } log.info("OK to kill segment: %s", unusedSegment.getIdentifier()); } // Kill segments for (DataSegment segment : unusedSegments) { toolbox.getDataSegmentKiller().kill(segment); } // Remove metadata for these segments toolbox.getTaskActionClient().submit(new SegmentNukeAction(ImmutableSet.copyOf(unusedSegments))); return TaskStatus.success(getId()); }
From source file:com.opengamma.financial.analytics.model.equity.varianceswap.EquityVarianceSwapPureImpliedVolPVFunction.java
@Override public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues) throws AsynchronousExecution { final Clock snapshotClock = executionContext.getValuationClock(); final ZonedDateTime now = ZonedDateTime.now(snapshotClock).minusYears(3); //TODO remove me - just for testing final ValueRequirement desiredValue = Iterables.getOnlyElement(desiredValues); final EquityVarianceSwapSecurity security = (EquityVarianceSwapSecurity) target.getSecurity(); final EquityVarianceSwapDefinition definition = security.accept(getConverter()); final Object spotObject = inputs.getValue(MarketDataRequirementNames.MARKET_VALUE); if (spotObject == null) { throw new OpenGammaRuntimeException("Spot value was null"); }// w w w .j a v a2 s .c o m final Object yieldCurveObject = inputs.getValue(ValueRequirementNames.YIELD_CURVE); if (yieldCurveObject == null) { throw new OpenGammaRuntimeException("Yield curve was null"); } final Object dividendsObject = inputs.getValue(ValueRequirementNames.AFFINE_DIVIDENDS); if (dividendsObject == null) { throw new OpenGammaRuntimeException("Dividends were null"); } final Object forwardCurveObject = inputs.getValue(ValueRequirementNames.FORWARD_CURVE); if (forwardCurveObject == null) { throw new OpenGammaRuntimeException("Forward curve was null"); } final Object volatilitiesObject = inputs.getValue(ValueRequirementNames.STANDARD_VOLATILITY_SURFACE_DATA); if (volatilitiesObject == null) { throw new OpenGammaRuntimeException("Volatility data were null"); } final Object tsObject = inputs.getValue(ValueRequirementNames.HISTORICAL_TIME_SERIES); final double spot = (Double) spotObject; final YieldAndDiscountCurve yieldCurve = (YieldAndDiscountCurve) yieldCurveObject; final AffineDividends dividends = (AffineDividends) dividendsObject; final SmileSurfaceDataBundle volatilities = getData(inputs); final DoubleTimeSeries<LocalDate> underlyingTS = ((HistoricalTimeSeries) tsObject).getTimeSeries(); final EquityVarianceSwap swap = definition.toDerivative(now, underlyingTS); final EquityVarianceSwapStaticReplicationPricer pricer = EquityVarianceSwapStaticReplicationPricer.builder() .create(); //TODO don't just use defaults final double pv = pricer.priceFromImpliedVols(swap, spot, yieldCurve, dividends, volatilities); final ValueProperties properties = desiredValue.getConstraints().copy() .withoutAny(ValuePropertyNames.FUNCTION).with(ValuePropertyNames.FUNCTION, getUniqueId()).get(); final ValueSpecification spec = new ValueSpecification(getValueRequirementName(), target.toSpecification(), properties); return Collections.singleton(new ComputedValue(spec, pv)); }
From source file:io.crate.executor.transport.task.elasticsearch.ESClusterUpdateSettingsTask.java
static Settings buildSettingsFrom(Map<String, List<Expression>> settingsMap, Row parameters) { Settings.Builder settings = Settings.builder(); for (Map.Entry<String, List<Expression>> entry : settingsMap.entrySet()) { String settingsName = entry.getKey(); SettingsApplier settingsApplier = CrateSettings.getSettingsApplier(settingsName); settingsApplier.apply(settings, parameters, Iterables.getOnlyElement(entry.getValue())); }/* ww w .j a va 2s . com*/ return settings.build(); }
From source file:com.opengamma.financial.analytics.model.forex.forward.FXForwardPointsMethodCurrencyExposureFunction.java
@Override protected Set<ComputedValue> getResult(final Forex fxForward, final YieldCurveBundle data, final DoublesCurve forwardPoints, final ComputationTarget target, final Set<ValueRequirement> desiredValues, final FunctionInputs inputs, final FunctionExecutionContext executionContext, final FXForwardCurveDefinition fxForwardCurveDefinition) { final MultipleCurrencyAmount mca = CALCULATOR.currencyExposure(fxForward, data, forwardPoints); final ValueProperties properties = getResultProperties(Iterables.getOnlyElement(desiredValues), target) .get();/*from www. j a v a 2 s. co m*/ final ValueSpecification spec = new ValueSpecification(ValueRequirementNames.FX_CURRENCY_EXPOSURE, target.toSpecification(), properties); return Collections.singleton(new ComputedValue(spec, mca)); }
From source file:com.android.tools.idea.navigator.nodes.AndroidJniFolderNode.java
@NotNull @Override// w w w .j av a2 s .co m public Collection<? extends AbstractTreeNode> getChildren() { assert myProject != null; Collection<AbstractTreeNode> nativeSourceNodes = getNativeSourceNodes(myProject, getModel(), getSettings()); if (nativeSourceNodes.size() == 1) { AbstractTreeNode sourceNode = Iterables.getOnlyElement(nativeSourceNodes); if (sourceNode instanceof NativeAndroidSourceDirectoryNode) { return ((NativeAndroidSourceDirectoryNode) sourceNode).getChildren(); } } return nativeSourceNodes; }
From source file:com.opengamma.financial.analytics.model.black.BlackDiscountingValueDeltaIRFutureOptionFunction.java
@Override public CompiledFunctionDefinition compile(final FunctionCompilationContext context, final Instant atInstant) { return new BlackDiscountingCompiledFunction(getTargetToDefinitionConverter(context), getDefinitionToDerivativeConverter(context), true) { @Override//from w w w . j av a 2 s .c o m protected Set<ComputedValue> getValues(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues, final InstrumentDerivative derivative, final FXMatrix fxMatrix) { final ValueRequirement desiredValue = Iterables.getOnlyElement(desiredValues); final ValueProperties constraints = desiredValue.getConstraints(); final double positionGamma = (Double) inputs.getValue(POSITION_GAMMA); final double futurePrice = (Double) inputs.getValue(FORWARD); final double valueGamma = futurePrice * futurePrice * positionGamma / 2; final ValueSpecification valueSpecification = new ValueSpecification(VALUE_GAMMA, target.toSpecification(), constraints.copy().get()); final ComputedValue result = new ComputedValue(valueSpecification, valueGamma); return Sets.newHashSet(result); } @Override public Set<ValueRequirement> getRequirements(final FunctionCompilationContext compilationContext, final ComputationTarget target, final ValueRequirement desiredValue) { if (super.getRequirements(compilationContext, target, desiredValue) == null) { return null; } final ValueProperties properties = desiredValue.getConstraints().copy().get(); final Set<ValueRequirement> requirements = new HashSet<>(); requirements.add(new ValueRequirement(POSITION_GAMMA, target.toSpecification(), properties)); requirements.add(new ValueRequirement(FORWARD, target.toSpecification(), properties)); return requirements; } }; }
From source file:com.opengamma.financial.analytics.model.black.BlackDiscountingValueGammaIRFutureOptionFunction.java
@Override public CompiledFunctionDefinition compile(final FunctionCompilationContext context, final Instant atInstant) { return new BlackDiscountingCompiledFunction(getTargetToDefinitionConverter(context), getDefinitionToDerivativeConverter(context), true) { @Override/*ww w . ja v a 2s .c om*/ protected Set<ComputedValue> getValues(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues, final InstrumentDerivative derivative, final FXMatrix fxMatrix) { final ValueRequirement desiredValue = Iterables.getOnlyElement(desiredValues); final ValueProperties constraints = desiredValue.getConstraints(); final double positionDelta = (Double) inputs.getValue(POSITION_DELTA); final double futurePrice = (Double) inputs.getValue(FORWARD); final double valueGamma = futurePrice * positionDelta; final ValueSpecification valueSpecification = new ValueSpecification(VALUE_DELTA, target.toSpecification(), constraints.copy().get()); final ComputedValue result = new ComputedValue(valueSpecification, valueGamma); return Sets.newHashSet(result); } @Override public Set<ValueRequirement> getRequirements(final FunctionCompilationContext compilationContext, final ComputationTarget target, final ValueRequirement desiredValue) { if (super.getRequirements(compilationContext, target, desiredValue) == null) { return null; } final ValueProperties properties = desiredValue.getConstraints().copy().get(); final Set<ValueRequirement> requirements = new HashSet<>(); requirements.add(new ValueRequirement(POSITION_DELTA, target.toSpecification(), properties)); requirements.add(new ValueRequirement(FORWARD, target.toSpecification(), properties)); return requirements; } }; }