2 * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. 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
9 package org.opendaylight.lockmanager;
11 import java.util.concurrent.TimeUnit;
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;
20 public class LockManagerUtils {
22 public static long convertToMillis(long waitTime, TimeUnit timeUnit) {
23 return timeUnit.toMillis(waitTime);
26 public static void sleep(long waitTime) {
28 Thread.sleep(waitTime);
29 } catch (InterruptedException exception) {
33 public static TimeUnit convertToTimeUnit(TimeUnits timeUnit) {
38 return TimeUnit.MICROSECONDS;
40 return TimeUnit.HOURS;
42 return TimeUnit.MINUTES;
44 return TimeUnit.NANOSECONDS;
46 return TimeUnit.SECONDS;
49 return TimeUnit.MILLISECONDS;
53 public static InstanceIdentifier<Lock> getLockInstanceIdentifier(String lockName) {
54 return InstanceIdentifier
55 .builder(Locks.class).child(Lock.class,
56 new LockKey(lockName)).build();
59 public static Lock buildLockData(String lockName) {
60 return new LockBuilder().setKey(new LockKey(lockName)).setLockName(lockName).setLockOwner(Thread.currentThread().getName()).build();