2 * Copyright (c) 2014 Contextream, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.lisp.util;
10 import java.util.ArrayList;
11 import java.util.Arrays;
12 import java.util.List;
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;
18 public final class MapNotifyBuilderHelper {
19 // Utility class, should not be instantiated
20 private MapNotifyBuilderHelper() {
23 public static void setFromMapRegister(MapNotifyBuilder builder, MapRegister mapRegister) {
24 setNonRecordFields(builder, mapRegister);
26 if (builder.getMappingRecordItem() == null) {
27 builder.setMappingRecordItem(new ArrayList<MappingRecordItem>());
30 for (MappingRecordItem eidToLocator : mapRegister.getMappingRecordItem()) {
31 builder.getMappingRecordItem().add(eidToLocator);
35 public static void setFromMapRegisterAndMappingRecordItems(MapNotifyBuilder builder, MapRegister mapRegister,
36 List<MappingRecordItem> mappings) {
37 setNonRecordFields(builder, mapRegister);
38 builder.setMappingRecordItem(mappings);
41 private static void setNonRecordFields(MapNotifyBuilder builder, MapRegister mapRegister) {
42 builder.setNonce(mapRegister.getNonce());
43 builder.setKeyId(mapRegister.getKeyId());
44 byte[] authenticationData = mapRegister.getAuthenticationData();
45 if (authenticationData != null) {
46 authenticationData = authenticationData.clone();
47 Arrays.fill(authenticationData, (byte) 0);
49 builder.setAuthenticationData(authenticationData);