Exemplo n.º 1
0
  public List getPortfolio() {
    List result = new ArrayList();

    Map map = new HashMap();
    for (Iterator iter2 = getTransactions().iterator(); iter2.hasNext(); ) {
      Transaction transaction = (Transaction) iter2.next();
      PortfolioPosition position = (PortfolioPosition) map.get(transaction.getSecurity());
      if (position == null)
        map.put(
            transaction.getSecurity(),
            new PortfolioPosition(
                this,
                transaction.getSecurity(),
                transaction.getQuantity(),
                transaction.getAmount()));
      else position.add(transaction.getQuantity(), transaction.getAmount());
    }

    List list = new ArrayList(map.keySet());
    Collections.sort(
        list,
        new Comparator() {
          public int compare(Object arg0, Object arg1) {
            return ((Security) arg0).getDescription().compareTo(((Security) arg1).getDescription());
          }
        });
    for (Iterator iter = list.iterator(); iter.hasNext(); ) {
      Security security = (Security) iter.next();
      PortfolioPosition position = (PortfolioPosition) map.get(security);
      if (position.getQuantity() != 0) result.add(position);
    }

    return result;
  }
Exemplo n.º 2
0
  public PortfolioPosition getPortfolio(Security security) {
    PortfolioPosition position = new PortfolioPosition(this, security, 0, 0);

    for (Iterator iter2 = getTransactions().iterator(); iter2.hasNext(); ) {
      Transaction transaction = (Transaction) iter2.next();
      if (position.getSecurity().equals(transaction.getSecurity()))
        position.add(transaction.getQuantity(), transaction.getAmount());
    }

    return position;
  }