*/
package org.opendaylight.mdsal.eos.dom.simple;
+import static java.util.Objects.requireNonNull;
import static org.opendaylight.mdsal.eos.common.api.EntityOwnershipChangeState.LOCAL_OWNERSHIP_GRANTED;
import static org.opendaylight.mdsal.eos.common.api.EntityOwnershipChangeState.LOCAL_OWNERSHIP_LOST_NO_OWNER;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Preconditions;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
import com.google.common.collect.Table;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Collection;
import java.util.Optional;
import java.util.UUID;
-import javax.annotation.concurrent.GuardedBy;
+import org.checkerframework.checker.lock.qual.GuardedBy;
import org.kohsuke.MetaInfServices;
import org.opendaylight.mdsal.eos.common.api.CandidateAlreadyRegisteredException;
import org.opendaylight.mdsal.eos.common.api.EntityOwnershipChangeState;
import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService;
import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- * Simple {@link DOMEntityOwnershipService} operating as an isolated island. It has no awareness of the world outside
- * of itself.
- *
- * @author Robert Varga
- */
@MetaInfServices
-public final class SimpleDOMEntityOwnershipService implements DOMEntityOwnershipService {
+@Component(immediate = true)
+public class SimpleDOMEntityOwnershipService implements DOMEntityOwnershipService {
private static final Logger LOG = LoggerFactory.getLogger(SimpleDOMEntityOwnershipService.class);
@GuardedBy("entities")
@VisibleForTesting
SimpleDOMEntityOwnershipService(final UUID uuid) {
- this.uuid = Preconditions.checkNotNull(uuid);
+ this.uuid = requireNonNull(uuid);
}
public SimpleDOMEntityOwnershipService() {
}
}
+ @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
+ justification = "https://github.com/spotbugs/spotbugs/issues/811")
private void removeEntity(final DOMEntity entity) {
synchronized (entities) {
entities.remove(entity.getType(), entity.getIdentifier());
ListenerRegistration(final String entityType, final DOMEntityOwnershipListener listener) {
super(listener);
- this.entityType = Preconditions.checkNotNull(entityType);
+ this.entityType = requireNonNull(entityType);
}
@Override