import static java.util.Objects.requireNonNull;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Preconditions;
import com.google.common.collect.MutableClassToInstanceMap;
import java.util.HashMap;
import java.util.Map;
return listeners.register(listener);
}
+ /**
+ * Deprecated.
+ *
+ * @deprecated this method should never have been exposed publicly - registration should be done via the public
+ * {@link #createMountPoint} interface. As such, this method expects the {@code mountPoint} part to be
+ * of type {@link SimpleDOMMountPoint}.
+ */
+ @Deprecated
public ObjectRegistration<DOMMountPoint> registerMountPoint(final DOMMountPoint mountPoint) {
+ Preconditions.checkArgument(mountPoint instanceof SimpleDOMMountPoint,
+ "Expected mountpoint argument to be of type SimpleDOMMountPoint");
+ return doRegisterMountPoint((SimpleDOMMountPoint) mountPoint);
+ }
+
+ private ObjectRegistration<DOMMountPoint> doRegisterMountPoint(final SimpleDOMMountPoint mountPoint) {
final YangInstanceIdentifier mountPointId = mountPoint.getIdentifier();
synchronized (mountPoints) {
final DOMMountPoint prev = mountPoints.putIfAbsent(mountPointId, mountPoint);
return new AbstractObjectRegistration<DOMMountPoint>(mountPoint) {
@Override
protected void removeRegistration() {
- unregisterMountPoint(getInstance().getIdentifier());
+ doUnregisterMountPoint(getInstance().getIdentifier());
}
};
}
+ /**
+ * Unregisters mountpoint.
+ *
+ * @param mountPointId Mountpoint identifier.
+ *
+ * @deprecated this method should never have been exposed publicly - mountpoint should be unregistered by simply
+ * closing its registration.
+ *
+ */
+ @Deprecated
public void unregisterMountPoint(final YangInstanceIdentifier mountPointId) {
+ doUnregisterMountPoint(mountPointId);
+ }
+
+ private void doUnregisterMountPoint(final YangInstanceIdentifier mountPointId) {
synchronized (mountPoints) {
if (mountPoints.remove(mountPointId) == null) {
- LOG.warn("Removed non-existend mount point {} at", mountPointId, new Throwable());
+ LOG.warn("Removing non-existent mount point {} at", mountPointId, new Throwable());
return;
}
}
public ObjectRegistration<DOMMountPoint> register() {
checkState(mountPoint == null, "Mount point is already built.");
mountPoint = SimpleDOMMountPoint.create(path, services,schemaContext);
- return registerMountPoint(mountPoint);
+ return doRegisterMountPoint(mountPoint);
}
}
}
}
@Test
- public void createSimpleMountPoint() throws Exception {
+ public void createSimpleMountPoint() {
final DOMMountPointListener listener = mock(DOMMountPointListener.class);
doNothing().when(listener).onMountPointCreated(PATH);
mountService.registerProvisionListener(listener);
}
@Test
- public void unregisterTest() throws Exception {
+ public void unregisterTest() {
final DOMMountPointListener listener = mock(DOMMountPointListener.class);
doNothing().when(listener).onMountPointCreated(PATH);
doNothing().when(listener).onMountPointRemoved(PATH);
final DOMMountPointServiceImpl service = new DOMMountPointServiceImpl();
service.registerProvisionListener(listener);
- service.createMountPoint(PATH).register();
+ final ObjectRegistration<DOMMountPoint> mountPointReg = service.createMountPoint(PATH).register();
assertTrue(service.getMountPoint(PATH).isPresent());
- service.unregisterMountPoint(PATH);
+ mountPointReg.close();
assertFalse(service.getMountPoint(PATH).isPresent());
}
@Test
- public void mountRegistrationTest() throws Exception {
+ public void mountRegistrationTest() {
final DOMMountPointBuilder mountBuilder = mountService.createMountPoint(PATH);
final ObjectRegistration<DOMMountPoint> objectRegistration = mountBuilder.register();
}
@Test
- public void mountBuilderTest() throws Exception {
+ public void mountBuilderTest() {
final DOMMountPointBuilderImpl mountBuilder = (DOMMountPointBuilderImpl) mountService.createMountPoint(PATH);
mountBuilder.register();