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.PrometheusDataItem;
24 import io.github.tonywasher.joceanus.prometheus.validate.PrometheusValidateStatic;
25
26
27
28
29 public class MoneyWiseValidateCurrency
30 extends PrometheusValidateStatic {
31
32 @Override
33 public void validate(final PrometheusDataItem pCurrency) {
34 final MoneyWiseCurrency myCurrency = (MoneyWiseCurrency) pCurrency;
35 final MoneyWiseCurrencyList myList = myCurrency.getList();
36 final MoneyWiseCurrencyDataMap myMap = myList.getDataMap();
37
38
39 if (myCurrency.isReporting() == null) {
40 pCurrency.addError(PrometheusDataItem.ERROR_MISSING, MoneyWiseStaticResource.CURRENCY_REPORTING);
41
42
43 } else if (Boolean.TRUE.equals(myCurrency.isReporting())) {
44
45 if (!myCurrency.getEnabled()) {
46 pCurrency.addError(PrometheusDataItem.ERROR_DISABLED, MoneyWiseStaticResource.CURRENCY_REPORTING);
47 }
48
49
50 if (!myMap.validReportCount()) {
51 pCurrency.addError("Multiple reporting currencies", MoneyWiseStaticResource.CURRENCY_REPORTING);
52 }
53 }
54
55
56 super.validate(pCurrency);
57 }
58 }