From: <wes...@us...> - 2013-02-12 11:54:51
|
Revision: 1170 http://jmoney.svn.sourceforge.net/jmoney/?rev=1170&view=rev Author: westbury Date: 2013-02-12 11:54:44 +0000 (Tue, 12 Feb 2013) Log Message: ----------- change stock balances and details to include all securities, i.e. bonds are now listed too Modified Paths: -------------- trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/ShowStockDetailsHandler.java trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockBalancesEditor.java trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockDetailsEditor.java Modified: trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/ShowStockDetailsHandler.java =================================================================== --- trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/ShowStockDetailsHandler.java 2013-02-12 11:53:09 UTC (rev 1169) +++ trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/ShowStockDetailsHandler.java 2013-02-12 11:54:44 UTC (rev 1170) @@ -24,6 +24,7 @@ import net.sf.jmoney.model2.Account; import net.sf.jmoney.model2.IDataManagerForAccounts; +import net.sf.jmoney.stocks.model.Security; import net.sf.jmoney.stocks.model.Stock; import net.sf.jmoney.stocks.model.StockAccount; import net.sf.jmoney.stocks.pages.StockDetailsEditor; @@ -73,7 +74,7 @@ return null; } - public static void showStockDetails(AccountEditor editor, Stock stock) throws PartInitException { + public static void showStockDetails(AccountEditor editor, Security stock) throws PartInitException { /* * This may not be the best way. Inputs are not set for the editors within * the multi-page editor, so they all match the input for the containing editor. Modified: trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockBalancesEditor.java =================================================================== --- trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockBalancesEditor.java 2013-02-12 11:53:09 UTC (rev 1169) +++ trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockBalancesEditor.java 2013-02-12 11:54:44 UTC (rev 1170) @@ -37,10 +37,9 @@ import net.sf.jmoney.model2.IDataManagerForAccounts; import net.sf.jmoney.model2.IDatastoreManager; import net.sf.jmoney.stocks.ShowStockDetailsHandler; +import net.sf.jmoney.stocks.model.Security; import net.sf.jmoney.stocks.model.Stock; import net.sf.jmoney.stocks.model.StockAccount; -import net.sf.jmoney.stocks.model.StockEntry; -import net.sf.jmoney.stocks.model.StockEntryInfo; import net.sf.jmoney.views.AccountEditor; import net.sf.jmoney.views.AccountEditorInput; @@ -91,16 +90,16 @@ private StockAccount account; private class StockWrapper { - private final Stock stock; + private final Security stock; public long total = 0; - public StockWrapper(Stock stock) { + public StockWrapper(Security stock) { this.stock = stock; } } - private Map<Stock, StockWrapper> totals; + private Map<Security, StockWrapper> totals; private TableViewer balancesViewer; @@ -285,21 +284,19 @@ private void calculateTotals() { Date asOf = balanceDateControl.getDate(); - totals = new HashMap<Stock, StockWrapper>(); + totals = new HashMap<Security, StockWrapper>(); for (Entry entry : account.getEntries()) { - if (!entry.getTransaction().getDate().after(asOf)) { - StockEntry entry2 = entry.getExtension(StockEntryInfo.getPropertySet(), false); - if (entry2 != null && entry2.getCommodity() instanceof Stock) { - Stock stock = (Stock)entry2.getCommodity(); - StockWrapper stockWrapper = totals.get(stock); - if (stockWrapper == null) { - stockWrapper = new StockWrapper(stock); - totals.put(stock, stockWrapper); - } - - stockWrapper.total += entry.getAmount(); + if (!entry.getTransaction().getDate().after(asOf) + && entry.getCommodity() instanceof Security) { + Security security = (Security)entry.getCommodity(); + StockWrapper securityWrapper = totals.get(security); + if (securityWrapper == null) { + securityWrapper = new StockWrapper(security); + totals.put(security, securityWrapper); } + + securityWrapper.total += entry.getAmount(); } } @@ -418,7 +415,7 @@ IStructuredSelection selection = (IStructuredSelection)selectionProvider.getSelection(); Object element = selection.getFirstElement(); if (element instanceof StockWrapper) { - Stock stock = ((StockWrapper)element).stock; + Security stock = ((StockWrapper)element).stock; try { ShowStockDetailsHandler.showStockDetails(accountEditor, stock); } catch (PartInitException e) { Modified: trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockDetailsEditor.java =================================================================== --- trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockDetailsEditor.java 2013-02-12 11:53:09 UTC (rev 1169) +++ trunk/net.sf.jmoney.stocks/src/net/sf/jmoney/stocks/pages/StockDetailsEditor.java 2013-02-12 11:54:44 UTC (rev 1170) @@ -118,11 +118,11 @@ /** * The stock being shown in this page. */ - private final Stock stock; + private final Security stock; private EntriesTable<StockEntryData> fEntriesControl; - public StockDetailsEditor(Stock stock) { + public StockDetailsEditor(Security stock) { this.stock = stock; } @@ -323,7 +323,7 @@ /* * We have to find the appropriate entry in the transaction that contains * the stock. - * + * * - If this is a purchase or sale, then the stock will be set as the commodity * for one of the entries. We find this entry. * - If this is a dividend payment then the stock will be set as an additional @@ -389,7 +389,7 @@ /* * If the user changes the transaction type, the stock control remains * the same as it was in the previous transaction type. - * + * * For example, suppose an entry is a purchase of stock in Foo company. * The user changes the entry to a dividend. The entry will then * be a dividend from stock in Foo company. The user changes the stock @@ -1173,7 +1173,7 @@ * if an editor page already exists for a stock. There may be another * way of doing this, perhaps by setting the stock through an editor input. */ - public Stock getStock() { + public Security getStock() { return stock; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |