1
2
3
4
5
6
7
8 package org.opendaylight.lispflowmapping.lisp.util;
9
10 import java.util.ArrayList;
11 import java.util.Arrays;
12 import java.util.List;
13
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRegister;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapnotifymessage.MapNotifyBuilder;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItem;
17
18 public final class MapNotifyBuilderHelper {
19
20 private MapNotifyBuilderHelper() {
21 }
22
23 public static void setFromMapRegister(MapNotifyBuilder builder, MapRegister mapRegister) {
24 setNonRecordFields(builder, mapRegister);
25
26 if (builder.getMappingRecordItem() == null) {
27 builder.setMappingRecordItem(new ArrayList<MappingRecordItem>());
28 }
29
30 for (MappingRecordItem eidToLocator : mapRegister.getMappingRecordItem()) {
31 builder.getMappingRecordItem().add(eidToLocator);
32 }
33 }
34
35 public static void setFromMapRegisterAndMappingRecordItems(MapNotifyBuilder builder, MapRegister mapRegister,
36 List<MappingRecordItem> mappings) {
37 setNonRecordFields(builder, mapRegister);
38 builder.setMappingRecordItem(mappings);
39 }
40
41 private static void setNonRecordFields(MapNotifyBuilder builder, MapRegister mapRegister) {
42 builder.setNonce(mapRegister.getNonce());
43 builder.setKeyId(mapRegister.getKeyId());
44 builder.setMergeEnabled(mapRegister.isMergeEnabled());
45
46 byte[] authenticationData = mapRegister.getAuthenticationData();
47 if (authenticationData != null) {
48 authenticationData = authenticationData.clone();
49 Arrays.fill(authenticationData, (byte) 0);
50 }
51 builder.setAuthenticationData(authenticationData);
52 }
53 }