1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.prometheus.database;
18
19 import io.github.tonywasher.joceanus.oceanus.base.OceanusException;
20 import io.github.tonywasher.joceanus.metis.data.MetisDataItem.MetisDataFieldId;
21 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataKeySet;
22 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataResource;
23 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataSet;
24 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataSet.PrometheusCryptographyDataType;
25 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataValues;
26
27
28
29
30 public class PrometheusTableDataKeySet
31 extends PrometheusTableDataItem<PrometheusDataKeySet> {
32
33
34
35 protected static final String TABLE_NAME = PrometheusDataKeySet.LIST_NAME;
36
37
38
39
40
41
42 protected PrometheusTableDataKeySet(final PrometheusDataStore pDatabase) {
43 super(pDatabase, TABLE_NAME);
44 final PrometheusTableDefinition myTableDef = getTableDef();
45
46
47 myTableDef.addReferenceColumn(PrometheusCryptographyDataType.CONTROLKEYSET, PrometheusTableControlKeySet.TABLE_NAME);
48 myTableDef.addBinaryColumn(PrometheusDataResource.KEYSET_KEYSETDEF, PrometheusDataKeySet.WRAPLEN);
49 }
50
51 @Override
52 protected void declareData(final PrometheusDataSet pData) {
53 setList(pData.getDataKeySets());
54 }
55
56 @Override
57 protected PrometheusDataValues loadValues() throws OceanusException {
58
59 final PrometheusTableDefinition myTableDef = getTableDef();
60
61
62 final PrometheusDataValues myValues = getRowValues(PrometheusDataKeySet.OBJECT_NAME);
63 myValues.addValue(PrometheusCryptographyDataType.CONTROLKEYSET, myTableDef.getIntegerValue(PrometheusCryptographyDataType.CONTROLKEYSET));
64 myValues.addValue(PrometheusDataResource.KEYSET_KEYSETDEF, myTableDef.getBinaryValue(PrometheusDataResource.KEYSET_KEYSETDEF));
65
66
67 return myValues;
68 }
69
70 @Override
71 protected void setFieldValue(final PrometheusDataKeySet pItem,
72 final MetisDataFieldId iField) throws OceanusException {
73
74 final PrometheusTableDefinition myTableDef = getTableDef();
75 if (PrometheusCryptographyDataType.CONTROLKEYSET.equals(iField)) {
76 myTableDef.setIntegerValue(iField, pItem.getControlKeySetId());
77 } else if (PrometheusDataResource.KEYSET_KEYSETDEF.equals(iField)) {
78 myTableDef.setBinaryValue(iField, pItem.getSecuredKeySetDef());
79 } else {
80 super.setFieldValue(pItem, iField);
81 }
82 }
83 }