1 package org.opendaylight.controller.sal.dom.broker
4 import org.opendaylight.controller.sal.core.api.mount.MountProvisionService
5 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier
6 import java.util.concurrent.ConcurrentMap
7 import java.util.concurrent.ConcurrentHashMap
8 import static com.google.common.base.Preconditions.*;
9 import org.opendaylight.controller.sal.core.api.data.DataProviderService
11 class MountPointManagerImpl implements MountProvisionService {
14 DataProviderService dataBroker;
16 ConcurrentMap<InstanceIdentifier,MountPointImpl> mounts = new ConcurrentHashMap();
18 override createMountPoint(InstanceIdentifier path) {
19 checkState(!mounts.containsKey(path),"Mount already created");
20 val mount = new MountPointImpl(path);
21 registerMountPoint(mount);
22 mounts.put(path,mount);
26 def registerMountPoint(MountPointImpl impl) {
27 dataBroker?.registerConfigurationReader(impl.mountPath,impl.readWrapper);
28 dataBroker?.registerOperationalReader(impl.mountPath,impl.readWrapper);
33 override createOrGetMountPoint(InstanceIdentifier path) {
34 val mount = mounts.get(path);
36 return createMountPoint(path)
42 override getMountPoint(InstanceIdentifier path) {