Package com.opengamma.core.position

Examples of com.opengamma.core.position.PortfolioNode


  public void getRootNode() {
    final Portfolio portfolio = Mockito.mock(Portfolio.class);
    final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
    final Portfolio logged = new LoggedResolutionPortfolio(portfolio, logger);
    final PortfolioNode root = Mockito.mock(PortfolioNode.class);
    Mockito.when(root.getUniqueId()).thenReturn(UniqueId.of("Foo", "Bar", "Cow"));
    Mockito.when(portfolio.getRootNode()).thenReturn(root);
    final PortfolioNode returnedRoot = logged.getRootNode();
    assertTrue(returnedRoot instanceof LoggedResolutionPortfolioNode);
    assertEquals(returnedRoot.getUniqueId(), UniqueId.of("Foo", "Bar", "Cow"));
    //Mockito.verify(logger).log(new ComputationTargetSpecification(ComputationTargetType.PORTFOLIO_NODE, UniqueId.of("Foo", "Bar")), UniqueId.of("Foo", "Bar", "Cow"));
    Mockito.verifyNoMoreInteractions(logger);
  }
View Full Code Here


*/
public class PortfolioExchangeTradedPnLFunction extends AbstractPortfolioPnLFunction {

  @Override
  public boolean canApplyTo(final FunctionCompilationContext context, final ComputationTarget target) {
    final PortfolioNode node = target.getPortfolioNode();
    final Set<Position> allPositions = PositionAccumulator.getAccumulatedPositions(node);
    for (final Position position : allPositions) {
      final Security positionSecurity = position.getSecurity();
      if (FinancialSecurityUtils.isExchangeTraded(positionSecurity)) {
        for (final Trade trade : position.getTrades()) {
View Full Code Here

      @QueryParam("version") String version,
      @QueryParam("versionAsOf") String versionAsOf,
      @QueryParam("correctedTo") String correctedTo) {
    final ObjectId objectId = ObjectId.parse(idStr);
    final VersionCorrection vc = VersionCorrection.parse(versionAsOf, correctedTo);
    final PortfolioNode result = getPositionSource().getPortfolioNode(objectId.atVersion(version), vc);
    return responseOkFudge(result);
  }
View Full Code Here

  @Override
  public PortfolioNode getPortfolioNode(final UniqueId uniqueId, final VersionCorrection versionCorrection) {
    ArgumentChecker.notNull(uniqueId, "uniqueId");
    ArgumentChecker.notNull(versionCorrection, "versionCorrection");
    PortfolioNode node = _nodes.get(uniqueId.getObjectId());
    if (node == null) {
      throw new DataNotFoundException("PortfolioNode not found: " + uniqueId);
    }
    return node;
  }
View Full Code Here

    final PortfolioNode[] bsa = bs.toArray(new PortfolioNode[bs.size()]);
    int bsaLength = bsa.length;
    boolean allMatched = true;
    nextA: for (PortfolioNode a : as) { //CSIGNORE
      for (int i = 0; i < bsaLength; i++) {
        final PortfolioNode b = bsa[i];
        if (isMatch(a, b)) {
          if (getEquivalentNodes(a.getChildNodes(), b.getChildNodes(), result)) {
            result.put(a.getUniqueId(), b.getUniqueId());
            bsa[i] = bsa[--bsaLength];
            continue nextA;
          }
        }
      }
View Full Code Here

      }
    }
    final List<PortfolioNode> nodeChildren = node.getChildNodes();
    List<PortfolioNode> newChildren = null;
    for (int i = 0; i < nodeChildren.size(); i++) {
      final PortfolioNode nodeChild = nodeChildren.get(i);
      final PortfolioNode newChild = addToFrontCache(nodeChild, versionCorrection);
      if (newChild != nodeChild) {
        if (newChildren == null) {
          newChildren = new ArrayList<PortfolioNode>(nodeChildren.size());
          for (int j = 0; j < i; j++) {
            newChildren.add(nodeChildren.get(j));
View Full Code Here

    }
    return node;
  }

  protected Portfolio addToFrontCache(Portfolio portfolio, final VersionCorrection versionCorrection) {
    final PortfolioNode newRoot = addToFrontCache(portfolio.getRootNode(), versionCorrection);
    if (newRoot != portfolio.getRootNode()) {
      final Portfolio newPortfolio = new CachedPortfolio(portfolio, newRoot);
      return newPortfolio;
    } else {
      return portfolio;
View Full Code Here

      }
      key = Pair.of(uniqueId, versionCorrection);
      final Element e = _portfolioNodeCache.get(key);
      if (e != null) {
        s_logger.debug("getPortfolioNode: EHCache hit on {}/{}", uniqueId, versionCorrection);
        final PortfolioNode node = (PortfolioNode) e.getObjectValue();
        return addToFrontCache(node, versionCorrection);
      } else {
        s_logger.debug("getPortfolioNode: EHCache miss on {}/{}", uniqueId, versionCorrection);
      }
    } else {
      s_logger.debug("getPortfolioNode: Pass through on {}/{}", uniqueId, versionCorrection);
      key = null;
    }
    final PortfolioNode node = getUnderlying().getPortfolioNode(uniqueId, versionCorrection);
    f = addToFrontCache(node, versionCorrection);
    if (f != node) {
      s_logger.debug("getPortfolioNode: Late front cache hit on {}/{}", uniqueId, versionCorrection);
      return (PortfolioNode) f;
    }
    if (key != null) {
      _portfolioNodeCache.put(new Element(key, node));
    } else {
      _portfolioNodeCache.put(new Element(Pair.of(node.getUniqueId(), versionCorrection), node));
    }
    return node;
  }
View Full Code Here

    return Sets.newHashSet(result);
  }

  @Override
  public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context, final ComputationTarget target, final ValueRequirement desiredValue) {
    final PortfolioNode node = target.getPortfolioNode();
    final Set<Position> allPositions = PositionAccumulator.getAccumulatedPositions(node);
    final Set<ValueRequirement> requirements = new HashSet<ValueRequirement>();
    final Set<String> currencies = desiredValue.getConstraints().getValues(ValuePropertyNames.CURRENCY);
    final ValueProperties constraints;
    if ((currencies == null) || currencies.isEmpty()) {
View Full Code Here

    if (uniqueId != null) {
      if (uniqueId.equals(node.getUniqueId())) {
        return node;
      }
      for (PortfolioNode child : node.getChildNodes()) {
        PortfolioNode result = getNode(child, uniqueId);
        if (result != null) {
          return result;
        }
      }
    }
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.