1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.moneywise.data.validate;
18
19 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseCurrency;
20 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseCurrency.MoneyWiseCurrencyDataMap;
21 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseCurrency.MoneyWiseCurrencyList;
22 import io.github.tonywasher.joceanus.moneywise.data.statics.MoneyWiseStaticResource;
23 import io.github.tonywasher.joceanus.prometheus.data.PrometheusData.PrometheusDataItemCtl;
24 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataItem;
25 import io.github.tonywasher.joceanus.prometheus.validate.PrometheusValidateStatic;
26
27
28
29
30 public class MoneyWiseValidateCurrency
31 extends PrometheusValidateStatic {
32
33 @Override
34 public void validate(final PrometheusDataItemCtl pCurrency) {
35 final MoneyWiseCurrency myCurrency = (MoneyWiseCurrency) pCurrency;
36 final MoneyWiseCurrencyList myList = myCurrency.getList();
37 final MoneyWiseCurrencyDataMap myMap = myList.getDataMap();
38
39
40 if (myCurrency.isReporting() == null) {
41 myCurrency.addError(PrometheusDataItem.ERROR_MISSING, MoneyWiseStaticResource.CURRENCY_REPORTING);
42
43
44 } else if (Boolean.TRUE.equals(myCurrency.isReporting())) {
45
46 if (!myCurrency.getEnabled()) {
47 myCurrency.addError(PrometheusDataItem.ERROR_DISABLED, MoneyWiseStaticResource.CURRENCY_REPORTING);
48 }
49
50
51 if (!myMap.validReportCount()) {
52 myCurrency.addError("Multiple reporting currencies", MoneyWiseStaticResource.CURRENCY_REPORTING);
53 }
54 }
55
56
57 super.validate(pCurrency);
58 }
59 }