Bump yangtools to 13.0.0
[mdsal.git] / dom / mdsal-dom-schema-osgi / src / main / java / org / opendaylight / mdsal / dom / schema / osgi / impl / ModelContextListener.java
similarity index 57%
rename from dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/EffectiveModelContextImpl.java
rename to dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/ModelContextListener.java
index c790345e2a9dc00c4f90496baf26392fb8adbe4f..14dc0e9e52cd5fc22c54146f92f8deb2a3b4c810 100644 (file)
@@ -12,34 +12,29 @@ import static com.google.common.base.Verify.verifyNotNull;
 import com.google.common.annotations.VisibleForTesting;
 import java.util.Dictionary;
 import java.util.Map;
+import java.util.function.Consumer;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Deactivate;
 
 /**
- * A Factory Component which implements {@link EffectiveModelContextListener}. Instances of this component are created
- * through by {@link OSGiDOMSchemaService} each time a listener is registered.
+ * A Factory Component for OSGi SR manifestation of a {@code Consumer<EffectiveModelContext>}. Instances of this
+ * component are created through by {@link OSGiDOMSchemaService} each time a listener is registered.
  */
-@Component(factory = EffectiveModelContextImpl.FACTORY_NAME, service = EffectiveModelContextListener.class)
-public final class EffectiveModelContextImpl implements EffectiveModelContextListener {
+@Component(factory = ModelContextListener.FACTORY_NAME, service = ModelContextListener.class)
+public final class ModelContextListener {
     static final String FACTORY_NAME = "org.opendaylight.mdsal.dom.schema.osgi.impl.SchemaSchemaContextListener";
 
     @VisibleForTesting
     static final String DELEGATE = "org.opendaylight.mdsal.dom.schema.osgi.SchemaSchemaContextListener";
 
-    private EffectiveModelContextListener delegate = null;
-
-    @Override
-    public void onModelContextUpdated(final EffectiveModelContext newModelContext) {
-        delegate.onModelContextUpdated(newModelContext);
-    }
+    private Consumer<EffectiveModelContext> delegate = null;
 
     @Activate
-    void activate(final Map<String, ?> properties) {
-        delegate = (EffectiveModelContextListener) verifyNotNull(properties.get(DELEGATE));
+    public ModelContextListener(final Map<String, ?> properties) {
+        delegate = (Consumer<EffectiveModelContext>) verifyNotNull(properties.get(DELEGATE));
     }
 
     @Deactivate
@@ -47,7 +42,11 @@ public final class EffectiveModelContextImpl implements EffectiveModelContextLis
         delegate = null;
     }
 
-    static Dictionary<String, ?> props(final EffectiveModelContextListener delegate) {
+    void onModelContextUpdated(final EffectiveModelContext newModelContext) {
+        delegate.accept(newModelContext);
+    }
+
+    static Dictionary<String, ?> props(final Consumer<EffectiveModelContext> delegate) {
         return FrameworkUtil.asDictionary(Map.of(DELEGATE, delegate));
     }
 }