Package com.opengamma.core.position

Examples of com.opengamma.core.position.PortfolioNode


  }

  @Override
  public int getIndexOfChild(Object parent, Object child) {
    if (parent instanceof PortfolioNode) {
      PortfolioNode parentNode = (PortfolioNode) parent;
      if (child instanceof PortfolioNode) {
        PortfolioNode childNode = (PortfolioNode) child;
        return parentNode.getChildNodes().indexOf(childNode);
      } else if (child instanceof Position) {
        Position childPosition = (Position) child;
        int positionIndex = parentNode.getPositions().indexOf(childPosition);
        if (positionIndex == -1) {
View Full Code Here


  public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context, final ComputationTarget target, final ValueRequirement desiredValue) {
    final String currency = desiredValue.getConstraint(ValuePropertyNames.CURRENCY);
    if (currency == null) {
      return null;
    }
    final PortfolioNode node = target.getPortfolioNode();
    // TODO: We don't need the accumulated positions - the object identifiers only would suffice (don't need to go to both databases!)
    final Set<Position> allPositions = PositionAccumulator.getAccumulatedPositions(node);
    final ValueProperties constraints = ValueProperties.with(ValuePropertyNames.CURRENCY, currency).get();
    final Set<ValueRequirement> requirements = new HashSet<ValueRequirement>();
    for (final Position position : allPositions) {
View Full Code Here

    root.addChildNode(node1);
    root.addChildNode(node2);

    CounterpartyAggregationFunction fn = new CounterpartyAggregationFunction();
    Portfolio aggregate = new PortfolioAggregator(fn).aggregate(portfolio);
    PortfolioNode aggregateRoot = aggregate.getRootNode();
    assertEquals(1, aggregateRoot.getChildNodes().size());
    PortfolioNode node = aggregateRoot.getChildNodes().get(0);
    assertEquals(1, node.getPositions().size());
  }
View Full Code Here

    }
    throw new IllegalArgumentException("Couldn't find node " + name);
  }

  private Position getPosition(final PositionSource positions, final String name) {
    final PortfolioNode node = getPortfolioNode(positions, name);
    return node.getPositions().get(0);
  }
View Full Code Here

  public void testPortfolioNodeSpecific() {
    final DependencyGraphBuilder builder = createBuilder();
    final ViewCalculationConfiguration config = builder.getCompilationContext().getViewCalculationConfiguration();
    final PositionSource positions = builder.getCompilationContext().getPortfolioStructure().getPositionSource();
    final PortfolioNode node1 = getPortfolioNode(positions, "PositionAttr");
    config.setDefaultProperties(ValueProperties.with("PORTFOLIO_NODE.Present Value.DEFAULT_ForwardCurve." + node1.getUniqueId(), "BarForward")
        .with("PORTFOLIO_NODE.*.DEFAULT_FundingCurve." + node1.getUniqueId(), "BarFunding").get());
    final ValueRequirement req1 = createValueRequirement(ComputationTargetSpecification.of(node1), ValueProperties.none());
    final ValueRequirement req2 = createValueRequirement(ComputationTargetSpecification.of(getPortfolioNode(positions, "Position")), ValueProperties.none());
    builder.addTarget(req1);
    builder.addTarget(req2);
    builder.getDependencyGraph();
View Full Code Here

  public void testPortfolioNodeSpecificOverride() {
    final DependencyGraphBuilder builder = createBuilder();
    final ViewCalculationConfiguration config = builder.getCompilationContext().getViewCalculationConfiguration();
    final PositionSource positions = builder.getCompilationContext().getPortfolioStructure().getPositionSource();
    final PortfolioNode node1 = getPortfolioNode(positions, "PositionAttr");
    config.setDefaultProperties(ValueProperties.with("PORTFOLIO_NODE.Present Value.DEFAULT_ForwardCurve." + node1.getUniqueId(), "BarForward")
        .with("PORTFOLIO_NODE.Present Value.DEFAULT_FundingCurve." + node1.getUniqueId(), "BarFunding").with("PORTFOLIO_NODE.*.DEFAULT_ForwardCurve", "GenericForward")
        .with("PORTFOLIO_NODE.*.DEFAULT_FundingCurve", "GenericFunding").get());
    final ValueRequirement req1 = createValueRequirement(ComputationTargetSpecification.of(node1), ValueProperties.none());
    final ValueRequirement req2 = createValueRequirement(ComputationTargetSpecification.of(getPortfolioNode(positions, "Position")), ValueProperties.none());
    builder.addTarget(req1);
    builder.addTarget(req2);
View Full Code Here

   */
  /* package */ static AnalyticsNode portfolioRoot(Portfolio portfolio) {
    if (portfolio == null) {
      return null;
    }
    PortfolioNode root = portfolio.getRootNode();
    return new PortfolioNodeBuilder(root).getRoot();
  }
View Full Code Here

      return Collections.singleton(new ValueSpecification(getRequirementName(), target.toSpecification(), ValueProperties.all()));
    }

    @Override
    public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context, final ComputationTarget target, final ValueRequirement desiredValue) {
      final PortfolioNode node = target.getPortfolioNode();
      final Set<ValueRequirement> requirements = new HashSet<ValueRequirement>();
      // Requirement has all constraints asked of us
      final ValueProperties.Builder resultConstraintsBuilder = desiredValue.getConstraints().copy();
      for (final String homogenousProperty : _homogenousProperties) {
        // TODO: this should probably only be optional if absent from the desired constraints
        resultConstraintsBuilder.withOptional(homogenousProperty);
      }
      ValueProperties resultConstraints = resultConstraintsBuilder.get();
      for (final Position position : node.getPositions()) {
        requirements.add(new ValueRequirement(getRequirementName(), ComputationTargetType.POSITION, position.getUniqueId().toLatest(), resultConstraints));
      }
      for (final PortfolioNode childNode : node.getChildNodes()) {
        requirements.add(new ValueRequirement(getRequirementName(), ComputationTargetType.PORTFOLIO_NODE, childNode.getUniqueId(), resultConstraints));
      }
      return requirements;
    }
View Full Code Here

    manChild.setPortfolioId(UID);
    manNode.addChildNode(manChild);
   
    when(mockPortfolio.getNode(UID2)).thenReturn(manNode);
    MasterPositionSource test = new MasterPositionSource(mockPortfolio, mockPosition);
    PortfolioNode testResult = test.getPortfolioNode(UID2, VersionCorrection.LATEST);
    verify(mockPortfolio, times(1)).getNode(UID2);
   
    assertEquals("Node", testResult.getName());
    assertEquals(UID2, testResult.getUniqueId());
    assertEquals(null, testResult.getParentNodeId());
    assertEquals(0, testResult.getPositions().size());
    assertEquals(1, testResult.getChildNodes().size());
    assertEquals("Child", testResult.getChildNodes().get(0).getName());
    assertEquals(UID3, testResult.getChildNodes().get(0).getUniqueId());
    assertEquals(UID2, testResult.getChildNodes().get(0).getParentNodeId());
    assertEquals(0, testResult.getChildNodes().get(0).getPositions().size());
    assertEquals(0, testResult.getChildNodes().get(0).getChildNodes().size());
  }
View Full Code Here

  public void testPortfolioNode() {
    final MockComputationTargetResolver mock = MockComputationTargetResolver.unresolved();
    final ComputationTargetResolver resolver = new LazyComputationTargetResolver(mock);
    final ComputationTarget target = resolver.resolve(new ComputationTargetSpecification(ComputationTargetType.PORTFOLIO_NODE, UniqueId.of("Node", "0")), VersionCorrection.LATEST);
    final PortfolioNode node = target.getPortfolioNode();
    assertEquals(node.getUniqueId(), UniqueId.of("Node", "0"));
    assertEquals(mock.getResolveCalls(), 0);
    assertEquals(node.getName(), "Node 0");
    assertEquals(mock.getResolveCalls(), 1);
    final List<PortfolioNode> childNodes = node.getChildNodes();
    assertEquals(childNodes.size(), 2);
    assertEquals(mock.getResolveCalls(), 1);
    assertEquals(childNodes.get(0).getUniqueId(), UniqueId.of("Node", "1"));
    assertEquals(childNodes.get(1).getUniqueId(), UniqueId.of("Node", "4"));
    assertEquals(mock.getResolveCalls(), 1);
    assertEquals(childNodes.get(0).getName(), "Node 1");
    assertEquals(childNodes.get(0).getChildNodes().size(), 2);
    assertEquals(childNodes.get(1).getName(), "Node 4");
    assertEquals(childNodes.get(1).getChildNodes().size(), 2);
    assertEquals(mock.getResolveCalls(), 3);
    final List<Position> positions = node.getPositions();
    assertEquals(positions.size(), 2);
    assertEquals(mock.getResolveCalls(), 3);
    assertEquals(positions.get(0).getUniqueId(), UniqueId.of("Position", "12"));
    assertEquals(positions.get(1).getUniqueId(), UniqueId.of("Position", "13"));
    assertEquals(mock.getResolveCalls(), 3);
View Full Code Here

TOP

Related Classes of com.opengamma.core.position.PortfolioNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.