2 * Copyright (c) 2016, 2017 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.genius.lockmanager;
11 import java.util.concurrent.TimeUnit;
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;
20 public class LockManagerUtils {
22 private LockManagerUtils() {
23 throw new IllegalStateException("Utility class");
26 public static TimeUnit convertToTimeUnit(TimeUnits timeUnit) {
31 return TimeUnit.MICROSECONDS;
33 return TimeUnit.HOURS;
35 return TimeUnit.MINUTES;
37 return TimeUnit.NANOSECONDS;
39 return TimeUnit.SECONDS;
42 return TimeUnit.MILLISECONDS;
46 public static InstanceIdentifier<Lock> getLockInstanceIdentifier(String lockName) {
47 return InstanceIdentifier.builder(Locks.class).child(Lock.class, new LockKey(lockName)).build();
50 public static Lock buildLockData(String lockName) {
51 return new LockBuilder().setKey(new LockKey(lockName)).setLockName(lockName)
52 .setLockOwner(Thread.currentThread().getName()).build();