*/
package org.opendaylight.mdsal.binding.dom.adapter;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMAdapterBuilder.Factory;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.ImmutableMap;
import java.util.Map;
-import org.opendaylight.controller.md.sal.binding.api.BindingService;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.md.sal.binding.api.NotificationService;
-import org.opendaylight.controller.md.sal.dom.api.DOMService;
-import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry;
+import org.opendaylight.mdsal.binding.api.ActionProviderService;
+import org.opendaylight.mdsal.binding.api.ActionService;
+import org.opendaylight.mdsal.binding.api.BindingService;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.InstanceNotificationPublishService;
+import org.opendaylight.mdsal.binding.api.InstanceNotificationService;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
+import org.opendaylight.mdsal.binding.api.NotificationService;
+import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
+import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMAdapterBuilder.Factory;
+import org.opendaylight.mdsal.dom.api.DOMService;
public abstract class BindingDOMAdapterLoader extends AdapterLoader<BindingService, DOMService> {
-
-
- private static final Map<Class<?>,BindingDOMAdapterBuilder.Factory<?>> FACTORIES = ImmutableMap.<Class<?>,BindingDOMAdapterBuilder.Factory<?>>builder()
- .put(NotificationService.class,BindingDOMNotificationServiceAdapter.BUILDER_FACTORY)
- .put(NotificationPublishService.class,BindingDOMNotificationPublishServiceAdapter.BUILDER_FACTORY)
- .put(DataBroker.class,BindingDOMDataBrokerAdapter.BUILDER_FACTORY)
- .put(RpcConsumerRegistry.class,BindingDOMRpcServiceAdapter.BUILDER_FACTORY)
+ private static final Map<Class<?>,BindingDOMAdapterBuilder.Factory<?>> FACTORIES =
+ ImmutableMap.<Class<?>, BindingDOMAdapterBuilder.Factory<?>>builder()
+ .put(NotificationService.class, BindingDOMNotificationServiceAdapter.BUILDER_FACTORY)
+ .put(NotificationPublishService.class, BindingDOMNotificationPublishServiceAdapter.BUILDER_FACTORY)
+ .put(DataBroker.class, BindingDOMDataBrokerAdapter.BUILDER_FACTORY)
+ .put(RpcConsumerRegistry.class, BindingDOMRpcServiceAdapter.BUILDER_FACTORY)
+ .put(ActionService.class, ActionServiceAdapter.BUILDER_FACTORY)
+ .put(ActionProviderService.class, ActionProviderServiceAdapter.BUILDER_FACTORY)
+ .put(InstanceNotificationService.class, InstanceNotificationServiceAdapter.BUILDER_FACTORY)
+ .put(InstanceNotificationPublishService.class,
+ InstanceNotificationPublishServiceAdapter.BUILDER_FACTORY)
.build();
- private final BindingToNormalizedNodeCodec codec;
+ private final AdapterContext codec;
- public BindingDOMAdapterLoader(final BindingToNormalizedNodeCodec codec) {
- super();
- this.codec = codec;
+ public BindingDOMAdapterLoader(final AdapterContext codec) {
+ this.codec = requireNonNull(codec);
}
@Override
- protected final AdapterBuilder<? extends BindingService, DOMService> createBuilder(final Class<? extends BindingService> key) {
+ protected final AdapterBuilder<? extends BindingService, DOMService> createBuilder(
+ final Class<? extends BindingService> key) {
final Factory<?> factory = FACTORIES.get(key);
- Preconditions.checkArgument(factory != null, "Unsupported service type %s", key);
- final BindingDOMAdapterBuilder<?> builder = factory.newBuilder();
- builder.setCodec(codec);
- return builder;
+ checkArgument(factory != null, "Unsupported service type %s", key);
+ return factory.newBuilder(codec);
}
}