Skip to content

Package: MetricsXmlAdapter

MetricsXmlAdapter

nameinstructionbranchcomplexitylinemethod
MetricsXmlAdapter()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
marshal(Map)
M: 47 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
unmarshal(XmlAdaptedMetrics)
M: 32 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2016, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.message.xml;
14:
15: import org.eclipse.kapua.model.type.ObjectValueConverter;
16:
17: import javax.xml.bind.annotation.adapters.XmlAdapter;
18: import java.util.ArrayList;
19: import java.util.HashMap;
20: import java.util.List;
21: import java.util.Map;
22: import java.util.Map.Entry;
23:
24: public class MetricsXmlAdapter extends XmlAdapter<XmlAdaptedMetrics, Map<String, Object>> {
25:
26: @Override
27: public XmlAdaptedMetrics marshal(Map<String, Object> sourceMap) throws Exception {
28:
29: List<XmlAdaptedMetric> adaptedMapItems = new ArrayList<>();
30:
31:• for (Entry<String, Object> sourceEntry : sourceMap.entrySet()) {
32:• if (sourceEntry.getValue() != null) {
33: XmlAdaptedMetric adaptedMapItem = new XmlAdaptedMetric();
34:
35: adaptedMapItem.setName(sourceEntry.getKey());
36: adaptedMapItem.setValueType(sourceEntry.getValue().getClass());
37: adaptedMapItem.setValue(ObjectValueConverter.toString(sourceEntry.getValue()));
38:
39: adaptedMapItems.add(adaptedMapItem);
40: }
41: }
42:
43: return new XmlAdaptedMetrics(adaptedMapItems);
44: }
45:
46: //
47: // Unmarshal
48: //
49:
50: @Override
51: public Map<String, Object> unmarshal(XmlAdaptedMetrics sourceAdapter) throws Exception {
52:
53: Map<String, Object> map = new HashMap<>();
54:
55:• for (XmlAdaptedMetric sourceItem : sourceAdapter.getAdaptedMetrics()) {
56: String name = sourceItem.getName();
57: Object value = ObjectValueConverter.fromString(sourceItem.getValue(), sourceItem.getValueType());
58:
59: map.put(name, value);
60: }
61:
62: return map;
63: }
64: }