Cleanup Optional uses
[genius.git] / alivenessmonitor / alivenessmonitor-impl / src / main / java / org / opendaylight / genius / alivenessmonitor / internal / AlivenessMonitorUtil.java
1 /*
2  * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.genius.alivenessmonitor.internal;
9
10 import com.google.common.primitives.UnsignedBytes;
11 import java.net.InetAddress;
12 import java.net.UnknownHostException;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.InterfaceMonitorMap;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.MonitorConfigs;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.MonitorProfiles;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.MonitoridKeyMap;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.MonitoringStates;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411._interface.monitor.map.InterfaceMonitorEntry;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411._interface.monitor.map.InterfaceMonitorEntryKey;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitor.configs.MonitoringInfo;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitor.configs.MonitoringInfoKey;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitor.profiles.MonitorProfile;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitor.profiles.MonitorProfileKey;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitorid.key.map.MonitoridKeyEntry;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitorid.key.map.MonitoridKeyEntryKey;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitoring.states.MonitoringState;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitoring.states.MonitoringStateKey;
28 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
29
30 public class AlivenessMonitorUtil {
31
32     static InstanceIdentifier<MonitoringState> getMonitorStateId(String keyId) {
33         return InstanceIdentifier.builder(MonitoringStates.class)
34                 .child(MonitoringState.class, new MonitoringStateKey(keyId)).build();
35     }
36
37     static InstanceIdentifier<MonitoringInfo> getMonitoringInfoId(Long monitorId) {
38         return InstanceIdentifier.builder(MonitorConfigs.class)
39                 .child(MonitoringInfo.class, new MonitoringInfoKey(monitorId)).build();
40     }
41
42     static InstanceIdentifier<MonitorProfile> getMonitorProfileId(Long profileId) {
43         return InstanceIdentifier.builder(MonitorProfiles.class)
44                 .child(MonitorProfile.class, new MonitorProfileKey(profileId)).build();
45     }
46
47     static InstanceIdentifier<MonitoridKeyEntry> getMonitorMapId(Long keyId) {
48         return InstanceIdentifier.builder(MonitoridKeyMap.class)
49                 .child(MonitoridKeyEntry.class, new MonitoridKeyEntryKey(keyId)).build();
50     }
51
52     static InstanceIdentifier<InterfaceMonitorEntry> getInterfaceMonitorMapId(String interfaceName) {
53         return InstanceIdentifier.builder(InterfaceMonitorMap.class)
54                 .child(InterfaceMonitorEntry.class, new InterfaceMonitorEntryKey(interfaceName)).build();
55     }
56
57     public static String toStringIpAddress(byte[] ipAddress)
58     {
59         String ip = "";
60         if (ipAddress == null) {
61             return ip;
62         }
63
64         try {
65             ip = InetAddress.getByAddress(ipAddress).getHostAddress();
66         } catch(UnknownHostException e) {  }
67
68         return ip;
69     }
70
71     public static String toStringMacAddress(byte[] macAddress)
72     {
73         if (macAddress == null) {
74             return "";
75         }
76
77         StringBuilder sb = new StringBuilder(18);
78
79         for (byte macAddres : macAddress) {
80             sb.append(UnsignedBytes.toString(macAddres, 16).toUpperCase());
81             sb.append(":");
82         }
83
84         sb.setLength(17);
85         return sb.toString();
86     }
87
88     public static byte[] parseIpAddress(String ipAddress) {
89         byte cur;
90
91         String[] addressPart = ipAddress.split(".");
92         int size = addressPart.length;
93
94         byte[] part = new byte[size];
95         for (int i = 0; i < size; i++) {
96             cur = UnsignedBytes.parseUnsignedByte(addressPart[i], 16);
97             part[i] = cur;
98         }
99
100         return part;
101     }
102
103     public static byte[] parseMacAddress(String macAddress) {
104         byte cur;
105
106         String[] addressPart = macAddress.split(":");
107         int size = addressPart.length;
108
109         byte[] part = new byte[size];
110         for (int i = 0; i < size; i++) {
111             cur = UnsignedBytes.parseUnsignedByte(addressPart[i], 16);
112             part[i] = cur;
113         }
114
115         return part;
116     }
117 }