Adding IdManager/LockManager and related Changes
[vpnservice.git] / lockmanager / lockmanager-impl / src / main / java / org / opendaylight / lockmanager / LockManagerUtils.java
1 /*
2  * Copyright (c) 2015 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.lockmanager;
10
11 import java.util.concurrent.TimeUnit;
12
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.Locks;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.TimeUnits;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.locks.Lock;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.locks.LockBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.locks.LockKey;
18 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
19
20 public class LockManagerUtils {
21
22     public static long convertToMillis(long waitTime, TimeUnit timeUnit) {
23         return timeUnit.toMillis(waitTime);
24     }
25
26     public static void sleep(long waitTime) {
27         try {
28             Thread.sleep(waitTime);
29         } catch (InterruptedException exception) {
30         }
31     }
32
33     public static TimeUnit convertToTimeUnit(TimeUnits timeUnit) {
34         switch (timeUnit) {
35         case Days:
36             return TimeUnit.DAYS;
37         case Microseconds:
38             return TimeUnit.MICROSECONDS;
39         case Hours:
40             return TimeUnit.HOURS;
41         case Minutes:
42             return TimeUnit.MINUTES;
43         case Nanoseconds:
44             return TimeUnit.NANOSECONDS;
45         case Seconds:
46             return TimeUnit.SECONDS;
47         case Milliseconds:
48         default:
49             return TimeUnit.MILLISECONDS;
50         }
51     }
52
53     public static InstanceIdentifier<Lock> getLockInstanceIdentifier(String lockName) {
54         return InstanceIdentifier
55                 .builder(Locks.class).child(Lock.class,
56                         new LockKey(lockName)).build();
57     }
58
59     public static Lock buildLockData(String lockName) {
60         return new LockBuilder().setKey(new LockKey(lockName)).setLockName(lockName).setLockOwner(Thread.currentThread().getName()).build();
61     }
62 }