This is an automated email from the git hooks/post-receive script. New commit to branch feature/1293-addAccountViewerTab in repository lima. See http://git.chorem.org/lima.git commit 6ad63d457a1463a3f767347e1963716b9b6bbe09 Author: dcosse <cosse@codelutin.com> Date: Wed Sep 30 15:30:48 2015 +0200 refs #1268 déplacement de donnés liées au model de l'handler au model et suppression de listener innutils --- .../ui/accountViewer/AccountViewerEditModel.java | 68 +++++++-- .../lima/ui/accountViewer/AccountViewerFilter.java | 41 ------ .../ui/accountViewer/AccountViewerViewHandler.java | 163 +++++++++------------ 3 files changed, 120 insertions(+), 152 deletions(-) diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java index 3399584..239c34c 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java @@ -21,10 +21,14 @@ */ package org.chorem.lima.ui.accountViewer; -import java.beans.PropertyChangeListener; +import org.chorem.lima.entity.Account; +import org.chorem.lima.entity.FinancialPeriod; +import org.chorem.lima.entity.FiscalPeriod; + import java.beans.PropertyChangeSupport; import java.io.Serializable; import java.math.BigDecimal; +import java.util.Date; /** * @author sletellier <letellier@codelutin.com> @@ -32,12 +36,15 @@ import java.math.BigDecimal; public class AccountViewerEditModel implements Serializable { public static final String PROPERTY_DEBIT = "debit"; - public static final String PROPERTY_CREDIT = "credit"; - public static final String PROPERTY_SOLD = "sold"; - public static final String PROPERTY_GLOBAL_SOLD = "globalSold"; + protected PeriodChoice periodChoice = PeriodChoice.FINANCIAL_PERIOD; + protected FinancialPeriod financialPeriod; + protected FiscalPeriod fiscalPeriod; + protected Account account; + protected Date dateStart; + protected Date dateEnd; protected final PropertyChangeSupport pcs = new PropertyChangeSupport(this); @@ -99,28 +106,57 @@ public class AccountViewerEditModel implements Serializable { firePropertyChange(PROPERTY_SOLD, oldSold, this.sold); } - public void addPropertyChangeListener(PropertyChangeListener listener) { - pcs.addPropertyChangeListener(listener); + + protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) { + pcs.firePropertyChange(propertyName, oldValue, newValue); } - public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { - pcs.addPropertyChangeListener(propertyName, listener); + public PeriodChoice getPeriodChoice() { + return periodChoice; } - public void removePropertyChangeListener(PropertyChangeListener listener) { - pcs.removePropertyChangeListener(listener); + public void setPeriodChoice(PeriodChoice periodChoice) { + this.periodChoice = periodChoice; } - public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { - pcs.removePropertyChangeListener(propertyName, listener); + public FinancialPeriod getFinancialPeriod() { + return financialPeriod; } - protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) { - pcs.firePropertyChange(propertyName, oldValue, newValue); + public void setFinancialPeriod(FinancialPeriod financialPeriod) { + this.financialPeriod = financialPeriod; + } + + public FiscalPeriod getFiscalPeriod() { + return fiscalPeriod; + } + + public void setFiscalPeriod(FiscalPeriod fiscalPeriod) { + this.fiscalPeriod = fiscalPeriod; + } + + public Account getAccount() { + return account; + } + + public void setAccount(Account account) { + this.account = account; + } + + public Date getDateStart() { + return dateStart; + } + + public void setDateStart(Date dateStart) { + this.dateStart = dateStart; + } + + public Date getDateEnd() { + return dateEnd; } - protected void firePropertyChange(String propertyName, Object newValue) { - firePropertyChange(propertyName, null, newValue); + public void setDateEnd(Date dateEnd) { + this.dateEnd = dateEnd; } } diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerFilter.java b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerFilter.java deleted file mode 100644 index 362cf69..0000000 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerFilter.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.chorem.lima.ui.accountViewer; - -import org.chorem.lima.beans.LetteringFilterImpl; -import org.chorem.lima.entity.FinancialPeriod; -import org.chorem.lima.entity.FiscalPeriod; - -/** - * Created by davidcosse on 21/09/15. - */ -public class AccountViewerFilter extends LetteringFilterImpl { - - protected PeriodChoice periodChoice = PeriodChoice.FINANCIAL_PERIOD; - - protected FinancialPeriod financialPeriod; - - protected FiscalPeriod fiscalPeriod; - - public PeriodChoice getPeriodChoice() { - return periodChoice; - } - - public void setPeriodChoice(PeriodChoice periodChoice) { - this.periodChoice = periodChoice; - } - - public FinancialPeriod getFinancialPeriod() { - return financialPeriod; - } - - public void setFinancialPeriod(FinancialPeriod financialPeriod) { - this.financialPeriod = financialPeriod; - } - - public FiscalPeriod getFiscalPeriod() { - return fiscalPeriod; - } - - public void setFiscalPeriod(FiscalPeriod fiscalPeriod) { - this.fiscalPeriod = fiscalPeriod; - } -} diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java index d79fbdc..a281089 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java @@ -54,7 +54,6 @@ import java.awt.event.InputEvent; import java.awt.event.ItemEvent; import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -86,8 +85,6 @@ public class AccountViewerViewHandler { protected FinancialTransactionService financialTransactionService; protected FiscalPeriodService fiscalPeriodService; - protected AccountViewerFilter filter; - protected AccountViewerTableModel accountViewerTableModel; protected AccountViewerSelectionModel accountViewerSelectionModel; protected AccountViewerEditModel editModel; @@ -122,7 +119,6 @@ public class AccountViewerViewHandler { * Init all combo box in view. */ public void init() { - filter = new AccountViewerFilter(); createComponentsModels(); @@ -163,37 +159,10 @@ public class AccountViewerViewHandler { public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { view.getHandler().balanceAndActions(); + updateSoldStatus(); } } }); - - editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_DEBIT, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - updateSoldStatus(); - } - }); - - editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_CREDIT, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - updateSoldStatus(); - } - }); - - editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_SOLD, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - updateSoldStatus(); - } - }); - - editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_GLOBAL_SOLD, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - updateSoldStatus(); - } - }); } protected void initAccountTableView() { @@ -240,21 +209,21 @@ public class AccountViewerViewHandler { } protected void onPeriodChoiceChanged(PeriodChoice periodChoice) { - if (initializationComplete && !filter.getPeriodChoice().equals(periodChoice)) { - filter.setPeriodChoice(periodChoice); - switch (periodChoice) { - case FINANCIAL_PERIOD: - initViewForPeriodChoiceChange(true, true, false); - updateAllEntriesForFinancialPeriodChoice(); - break; - case FISCAL_PERIOD: - initViewForPeriodChoiceChange(true, false, false); - updateAllEntriesForFiscalPeriodChoice(); - break; - case DATE: - initViewForPeriodChoiceChange(false, false, true); - updateAllEntriesForDateIntervalChoice(); - break; + if (initializationComplete && !editModel.getPeriodChoice().equals(periodChoice)) { + editModel.setPeriodChoice(periodChoice); + switch (periodChoice) { + case FINANCIAL_PERIOD: + initViewForPeriodChoiceChange(true, true, false); + updateAllEntriesForFinancialPeriodChoice(); + break; + case FISCAL_PERIOD: + initViewForPeriodChoiceChange(true, false, false); + updateAllEntriesForFiscalPeriodChoice(); + break; + case DATE: + initViewForPeriodChoiceChange(false, false, true); + updateAllEntriesForDateIntervalChoice(); + break; } } } @@ -318,8 +287,8 @@ public class AccountViewerViewHandler { protected void onFiscalPeriodChange(ItemEvent event) { FiscalPeriod selectedFiscalPeriod = event != null && event.getItem() != null ? (FiscalPeriod) event.getItem() : null; - if (initializationComplete && selectedFiscalPeriod != null && !selectedFiscalPeriod.equals(filter.getFiscalPeriod())) { - if (PeriodChoice.FINANCIAL_PERIOD.equals(filter.getPeriodChoice())) { + if (initializationComplete && selectedFiscalPeriod != null && !selectedFiscalPeriod.equals(editModel.getFiscalPeriod())) { + if (PeriodChoice.FINANCIAL_PERIOD.equals(editModel.getPeriodChoice())) { List<FinancialPeriod> periods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(selectedFiscalPeriod.getBeginDate(), selectedFiscalPeriod.getEndDate()); FinancialPeriod selectedFinancialPeriod = periods.get(0); financialPeriodComboBoxModel.setObjects(periods); @@ -335,18 +304,18 @@ public class AccountViewerViewHandler { protected void onFinancialPeriodChange(ItemEvent event) { FinancialPeriod financialPeriod = (FinancialPeriod) event.getItem(); - if (initializationComplete && filter.getFinancialPeriod() == null || !filter.getFinancialPeriod().equals(financialPeriod)) { + if (initializationComplete && editModel.getFinancialPeriod() == null || !editModel.getFinancialPeriod().equals(financialPeriod)) { updateAllEntriesForFinancialPeriodChoice(financialPeriod); } } public void onDateStartChange(Date date) { if (initializationComplete) { - if (date != null && !DateUtils.isSameDay(date, filter.getDateStart())) { - filter.setDateStart(date); + if (date != null && !DateUtils.isSameDay(date, editModel.getDateStart())) { + editModel.setDateStart(date); - if (filter.getDateEnd().before(date)) { - filter.setDateEnd(date); + if (editModel.getDateEnd().before(date)) { + editModel.setDateEnd(date); view.getEndPeriodPicker().setDate(date); } updateAllEntriesForDateChange(); @@ -356,10 +325,10 @@ public class AccountViewerViewHandler { public void onDateEndChange(Date date) { if (initializationComplete) { - if (date != null && !DateUtils.isSameDay(date, filter.getDateEnd())) { - filter.setDateEnd(date); - if (filter.getDateStart().after(date)) { - filter.setDateStart(date); + if (date != null && !DateUtils.isSameDay(date, editModel.getDateEnd())) { + editModel.setDateEnd(date); + if (editModel.getDateStart().after(date)) { + editModel.setDateStart(date); view.getBeginPeriodPicker().setDate(date); } updateAllEntriesForDateChange(); @@ -405,23 +374,27 @@ public class AccountViewerViewHandler { } protected void setFilter(FiscalPeriod fiscalPeriod, FinancialPeriod financialPeriod, Date dateStart, Date dateEnd, PeriodChoice periodChoice) { - filter.setFiscalPeriod(fiscalPeriod); - filter.setFinancialPeriod(financialPeriod); - filter.setDateStart(dateStart); - filter.setDateEnd(dateEnd); - filter.setPeriodChoice(periodChoice); + editModel.setFiscalPeriod(fiscalPeriod); + editModel.setFinancialPeriod(financialPeriod); + editModel.setDateStart(dateStart); + editModel.setDateEnd(dateEnd); + editModel.setPeriodChoice(periodChoice); } public void updateAllEntriesForDateChange() { - filter.setPeriodChoice(PeriodChoice.DATE); + editModel.setPeriodChoice(PeriodChoice.DATE); updateAllEntries(); } public void updateAllEntries() { if (initializationComplete - && filter.getAccount() != null - && filter.getDateStart() != null - && filter.getDateEnd() != null) { + && editModel.getAccount() != null + && editModel.getDateStart() != null + && editModel.getDateEnd() != null) { + LetteringFilter filter = new LetteringFilterImpl(); + filter.setAccount(editModel.getAccount()); + filter.setDateStart(editModel.getDateStart()); + filter.setDateEnd(editModel.getDateEnd()); List<Entry> entries = financialTransactionService.getAllEntrieByDatesAndAccountAndLettering(filter); AccountViewerTableModel accountViewerTableModel = (AccountViewerTableModel) view.getTable().getModel(); accountViewerTableModel.setValues(entries); @@ -443,9 +416,9 @@ public class AccountViewerViewHandler { LetteringFilter previousPeriodFilter = null; FiscalPeriod previousFiscalPeriod; Date dateStart = null, dateEnd = null; - switch (filter.getPeriodChoice()) { + switch (editModel.getPeriodChoice()) { case FINANCIAL_PERIOD: - Date financialPeriodDate = filter.getFinancialPeriod().getBeginDate(); + Date financialPeriodDate = editModel.getFinancialPeriod().getBeginDate(); FiscalPeriod fiscalPeriodFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(financialPeriodDate); if (DateUtils.isSameDay(financialPeriodDate, fiscalPeriodFiscalPeriod.getBeginDate())) { @@ -456,29 +429,29 @@ public class AccountViewerViewHandler { dateEnd = getDayMinus1Calendar(financialPeriodDate).getTime(); break; case FISCAL_PERIOD: - previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(filter.getFiscalPeriod().getBeginDate()).getTime()); + previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(editModel.getFiscalPeriod().getBeginDate()).getTime()); if (previousFiscalPeriod != null) { dateStart = previousFiscalPeriod.getBeginDate(); dateEnd = previousFiscalPeriod.getEndDate(); } break; case DATE: - previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(filter.getDateStart()); + previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(editModel.getDateStart()); // case of starting date is same as current fiscal period one, so we look for previous fiscal period - if (previousFiscalPeriod != null && DateUtils.isSameDay(previousFiscalPeriod.getBeginDate(), filter.getDateStart())) { - previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(filter.getDateStart()).getTime()); + if (previousFiscalPeriod != null && DateUtils.isSameDay(previousFiscalPeriod.getBeginDate(), editModel.getDateStart())) { + previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(editModel.getDateStart()).getTime()); } // case of selected date is upper the last fiscal period we look for the last fiscal period if (previousFiscalPeriod == null) { FiscalPeriod lastFiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); - previousFiscalPeriod = lastFiscalPeriod != null && lastFiscalPeriod.getEndDate().before(filter.getDateStart()) ? lastFiscalPeriod : null; + previousFiscalPeriod = lastFiscalPeriod != null && lastFiscalPeriod.getEndDate().before(editModel.getDateStart()) ? lastFiscalPeriod : null; } if (previousFiscalPeriod != null) { dateStart = previousFiscalPeriod.getBeginDate(); - dateEnd = getDayMinus1Calendar(filter.getDateStart()).getTime(); + dateEnd = getDayMinus1Calendar(editModel.getDateStart()).getTime(); } break; } @@ -487,7 +460,7 @@ public class AccountViewerViewHandler { previousPeriodFilter = new LetteringFilterImpl(); previousPeriodFilter.setDateStart(dateStart); previousPeriodFilter.setDateEnd(dateEnd); - previousPeriodFilter.setAccount(filter.getAccount()); + previousPeriodFilter.setAccount(editModel.getAccount()); } return previousPeriodFilter; @@ -496,29 +469,29 @@ public class AccountViewerViewHandler { private LetteringFilter computeActualPeriodFilter() { LetteringFilter actualPeriodFilter = null; Date dateStart = null, dateEnd = null; - switch (filter.getPeriodChoice()) { + switch (editModel.getPeriodChoice()) { case FINANCIAL_PERIOD: - if (filter.getFinancialPeriod() != null) { - Date financialPeriodDate = filter.getFinancialPeriod().getBeginDate(); + if (editModel.getFinancialPeriod() != null) { + Date financialPeriodDate = editModel.getFinancialPeriod().getBeginDate(); FiscalPeriod fiscalPeriodFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(financialPeriodDate); dateStart = fiscalPeriodFiscalPeriod.getBeginDate(); - dateEnd = filter.getFinancialPeriod().getEndDate(); + dateEnd = editModel.getFinancialPeriod().getEndDate(); } break; case FISCAL_PERIOD: - dateStart = filter.getFiscalPeriod() == null ? null : filter.getFiscalPeriod().getBeginDate(); - dateEnd = filter.getFiscalPeriod() == null ? null : filter.getFiscalPeriod().getEndDate(); + dateStart = editModel.getFiscalPeriod() == null ? null : editModel.getFiscalPeriod().getBeginDate(); + dateEnd = editModel.getFiscalPeriod() == null ? null : editModel.getFiscalPeriod().getEndDate(); break; case DATE: - dateStart = filter.getFiscalPeriod() == null ? filter.getDateStart() : filter.getFiscalPeriod().getBeginDate(); - dateEnd = filter.getDateEnd(); + dateStart = editModel.getFiscalPeriod() == null ? editModel.getDateStart() : editModel.getFiscalPeriod().getBeginDate(); + dateEnd = editModel.getDateEnd(); break; } if (dateStart != null && dateEnd != null) { actualPeriodFilter = new LetteringFilterImpl(); actualPeriodFilter.setDateStart(dateStart); actualPeriodFilter.setDateEnd(dateEnd); - actualPeriodFilter.setAccount(filter.getAccount()); + actualPeriodFilter.setAccount(editModel.getAccount()); } return actualPeriodFilter; } @@ -602,14 +575,14 @@ public class AccountViewerViewHandler { } protected void initSoldPeriodView() { - Date ppbd = filter.getFiscalPeriod() != null ? filter.getFiscalPeriod().getBeginDate() : new Date(); - Date pped = filter.getFinancialPeriod() != null ? getDayMinus1Calendar(filter.getFinancialPeriod().getBeginDate()).getTime() : new Date(); + Date ppbd = editModel.getFiscalPeriod() != null ? editModel.getFiscalPeriod().getBeginDate() : new Date(); + Date pped = editModel.getFinancialPeriod() != null ? getDayMinus1Calendar(editModel.getFinancialPeriod().getBeginDate()).getTime() : new Date(); view.getBeginPeriodSummary().setText(String.format(t("lima.accountingView.summaryLabel"), getDateFormat().format(ppbd), getDateFormat().format(pped))); view.getBeginDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginSold().setText(BigDecimalToString.format(BigDecimal.ZERO)); - Date aped = filter.getFinancialPeriod() != null ? filter.getFinancialPeriod().getEndDate() : new Date(); + Date aped = editModel.getFinancialPeriod() != null ? editModel.getFinancialPeriod().getEndDate() : new Date(); view.getEndPeriodSummary().setText(String.format(t("lima.accountingView.summaryLabel"), getDateFormat().format(ppbd), getDateFormat().format(aped))); view.getEndDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getEndCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); @@ -618,7 +591,7 @@ public class AccountViewerViewHandler { protected void setViewPreviousSold(LetteringFilter previousPeriodFilter) { if (previousPeriodFilter != null) { - if (filter.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD)) { + if (editModel.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD)) { String summaryLabel = t("lima.accountingView.summaryFiscalPeriodLabel"); view.getBeginPeriodSummary().setText(String.format(t(summaryLabel), YYYY.format(previousPeriodFilter.getDateStart()))); } else { @@ -632,7 +605,7 @@ public class AccountViewerViewHandler { view.getBeginCredit().setText(BigDecimalToString.format(debitCreditSold.getCredit())); view.getBeginSold().setText(BigDecimalToString.format(debitCreditSold.getSold())); } else { - String summaryLabel = filter.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD) ? t("lima.accountingView.summaryNoFiscalPeriodLabel") : t("lima.accountingView.summaryNoPeriodLabel"); + String summaryLabel = editModel.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD) ? t("lima.accountingView.summaryNoFiscalPeriodLabel") : t("lima.accountingView.summaryNoPeriodLabel"); view.getBeginPeriodSummary().setText(summaryLabel); view.getBeginDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); @@ -642,7 +615,7 @@ public class AccountViewerViewHandler { } protected void setViewActualSold(LetteringFilter actualPeriodFilter) { - if (filter.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD)) { + if (editModel.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD)) { String summaryLabel = t("lima.accountingView.summaryFiscalPeriodLabel"); view.getEndPeriodSummary().setText(String.format(t(summaryLabel), YYYY.format(actualPeriodFilter.getDateEnd()))); } else { @@ -775,16 +748,16 @@ public class AccountViewerViewHandler { } public void setAccount(Account account) { - if (filter != null) { - filter.setAccount(account); + if (editModel != null) { + editModel.setAccount(account); updateAllEntries(); } } public Account getAccount() { Account account = null; - if (filter != null) { - account = filter.getAccount(); + if (editModel != null) { + account = editModel.getAccount(); } return account; } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.