Fix FindBugs violations and enable enforcement in interfacemanager-impl
[genius.git] / lockmanager / lockmanager-impl / src / main / java / org / opendaylight / genius / lockmanager / LockManagerUtils.java
1 /*
2  * Copyright (c) 2016, 2017 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
9 package org.opendaylight.genius.lockmanager;
10
11 import java.util.concurrent.TimeUnit;
12
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.Locks;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.TimeUnits;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.locks.Lock;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.locks.LockBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.locks.LockKey;
18 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
19
20 public class LockManagerUtils {
21
22     private LockManagerUtils() {
23         throw new IllegalStateException("Utility class");
24     }
25
26     public static TimeUnit convertToTimeUnit(TimeUnits timeUnit) {
27         switch (timeUnit) {
28             case Days:
29                 return TimeUnit.DAYS;
30             case Microseconds:
31                 return TimeUnit.MICROSECONDS;
32             case Hours:
33                 return TimeUnit.HOURS;
34             case Minutes:
35                 return TimeUnit.MINUTES;
36             case Nanoseconds:
37                 return TimeUnit.NANOSECONDS;
38             case Seconds:
39                 return TimeUnit.SECONDS;
40             case Milliseconds:
41             default:
42                 return TimeUnit.MILLISECONDS;
43         }
44     }
45
46     public static InstanceIdentifier<Lock> getLockInstanceIdentifier(String lockName) {
47         return InstanceIdentifier.builder(Locks.class).child(Lock.class, new LockKey(lockName)).build();
48     }
49
50     public static Lock buildLockData(String lockName) {
51         return new LockBuilder().setKey(new LockKey(lockName)).setLockName(lockName)
52                 .setLockOwner(Thread.currentThread().getName()).build();
53     }
54 }