*/
package org.opendaylight.mdsal.binding.dom.adapter.osgi;
-import com.google.common.annotations.Beta;
import java.util.Map;
import java.util.Set;
import org.opendaylight.mdsal.binding.api.ActionProviderService;
+import org.opendaylight.mdsal.binding.api.ActionSpec;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.Action;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
-@Beta
@Component(factory = OSGiActionProviderService.FACTORY_NAME)
public final class OSGiActionProviderService extends AbstractAdaptedService<ActionProviderService>
implements ActionProviderService {
// OSGi DS Component Factory name
static final String FACTORY_NAME = "org.opendaylight.mdsal.binding.dom.adapter.osgi.OSGiActionProviderService";
- public OSGiActionProviderService() {
- super(ActionProviderService.class);
- }
-
- @Override
- public <O extends DataObject, P extends InstanceIdentifier<O>, T extends Action<P, ?, ?>, S extends T>
- ObjectRegistration<S> registerImplementation(final Class<T> actionInterface, final S implementation,
- final LogicalDatastoreType datastore, final Set<InstanceIdentifier<O>> validNodes) {
- return delegate().registerImplementation(actionInterface, implementation, datastore, validNodes);
- }
-
@Activate
- void activate(final Map<String, ?> properties) {
- start(properties);
+ public OSGiActionProviderService(final Map<String, ?> properties) {
+ super(ActionProviderService.class, properties);
}
@Deactivate
void deactivate(final int reason) {
stop(reason);
}
+
+ @Override
+ public <P extends DataObject, A extends Action<? extends InstanceIdentifier<P>, ?, ?>>
+ Registration registerImplementation(final ActionSpec<A, P> spec, final A implementation,
+ final LogicalDatastoreType datastore, final Set<? extends InstanceIdentifier<P>> validNodes) {
+ return delegate.registerImplementation(spec, implementation, datastore, validNodes);
+ }
}