1 package org.opendaylight.alto.commons.types.converter;
3 import java.io.IOException;
4 import java.nio.charset.StandardCharsets;
5 import java.nio.file.Files;
6 import java.nio.file.Paths;
7 import java.util.LinkedList;
10 import org.opendaylight.alto.commons.helper.Converter;
11 import org.opendaylight.alto.commons.types.model150404.ModelDependentVtag;
12 import org.opendaylight.alto.commons.types.model150404.ModelEndpointProperties;
13 import org.opendaylight.alto.commons.types.model150404.ModelEndpointPropertyMap;
14 import org.opendaylight.alto.commons.types.model150404.ModelEndpointPropertyMeta;
15 import org.opendaylight.alto.commons.types.model150404.ModelProperties;
16 import org.opendaylight.alto.commons.types.rfc7285.RFC7285EndpointPropertyMap;
18 public class RFC2ModelEndpointPropMapConverter
19 extends Converter<RFC7285EndpointPropertyMap, ModelEndpointPropertyMap> {
22 protected Object _convert() {
23 ModelEndpointPropertyMap out = new ModelEndpointPropertyMap();
24 out.endpointPropertyMeta = convertMeta(in().meta);
25 out.properties = new LinkedList<ModelEndpointProperties>();
26 for (String endpoint : in().map.keySet()) {
27 out.properties.add(convertEndpointProperty(endpoint, in().map.get(endpoint)));
32 protected static String readFromFile(String path) throws IOException {
33 return new String(Files.readAllBytes(Paths.get(path)),
34 StandardCharsets.UTF_8);
37 private ModelEndpointPropertyMeta convertMeta(RFC7285EndpointPropertyMap.Meta meta) {
38 ModelEndpointPropertyMeta endpointPropertyMeta = new ModelEndpointPropertyMeta();
40 endpointPropertyMeta.dependentVtags = new LinkedList<ModelDependentVtag>();
41 ModelDependentVtag dependentVtag = new ModelDependentVtag();
42 dependentVtag.rid = meta.netmap_tags.get(0).rid;
43 dependentVtag.vTag = meta.netmap_tags.get(0).tag;
45 endpointPropertyMeta.dependentVtags.add(dependentVtag);
46 return endpointPropertyMeta;
49 private ModelEndpointProperties
50 convertEndpointProperty(String endpoint, Map<String, String> property) {
51 ModelEndpointProperties endpointProperty = new ModelEndpointProperties();
52 endpointProperty.endpoint = endpoint;
53 endpointProperty.properties = new LinkedList<ModelProperties>();
54 for (String propertyType : property.keySet()) {
55 endpointProperty.properties.add(convertProperty(propertyType, property.get(propertyType)));
57 return endpointProperty;
60 private ModelProperties convertProperty(String propertyType, String propertyValue) {
61 ModelProperties property = new ModelProperties();
62 property.propertyType = propertyType;
63 property.propertyValue = propertyValue;