--- /dev/null
+/*
+ * Copyright (c) 2018 Red Hat, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.controller.md.sal.trace.binding.impl;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.spi.AdapterFactory;
+import org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker;
+
+/**
+ * Programmatic "wiring" for dependency injection.
+ *
+ * <p>See org.opendaylight.controller.md.sal.binding.impl.BindingBrokerWiring.
+ *
+ * @author Michael Vorburger.ch
+ */
+public class TracingBindingBrokerWiring {
+
+ private final DataBroker dataBroker;
+ private final DataBroker pingPongDataBroker;
+
+ public TracingBindingBrokerWiring(TracingDOMDataBroker tracingDOMDataBroker,
+ TracingDOMDataBroker tracingPingPongDOMDataBroker, AdapterFactory adapterFactory) {
+
+ dataBroker = adapterFactory.createDataBroker(tracingDOMDataBroker);
+ pingPongDataBroker = adapterFactory.createDataBroker(tracingPingPongDOMDataBroker);
+ }
+
+ public DataBroker getTracingDataBroker() {
+ return dataBroker;
+ }
+
+ public DataBroker getTracingPingPongDataBroker() {
+ return pingPongDataBroker;
+ }
+
+}
xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
odl:use-default-for-reference-types="true">
+ <reference id="adapterFactory" interface="org.opendaylight.controller.md.sal.binding.spi.AdapterFactory"/>
+
<reference id="tracingDefaultDOMBroker"
interface="org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker"
odl:type="default" />
- <reference id="adapterFactory" interface="org.opendaylight.controller.md.sal.binding.spi.AdapterFactory"/>
-
- <bean id="tracingBindingDataBroker" factory-ref="adapterFactory" factory-method="createDataBroker">
- <argument ref="tracingDefaultDOMBroker"/>
- </bean>
-
- <service id="tracingBindingDataBrokerSvc" ref="tracingBindingDataBroker"
- interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
- odl:type="default" ranking="10"/>
-
<reference id="tracingPingPongDOMDataBroker"
interface="org.opendaylight.controller.md.sal.trace.api.TracingDOMDataBroker"
odl:type="pingpong"/>
- <bean id="bindingTracingPingPongDataBroker" factory-ref="adapterFactory" factory-method="createDataBroker">
+ <bean id="wiring" class="org.opendaylight.controller.md.sal.trace.binding.impl.TracingBindingBrokerWiring">
+ <argument ref="tracingDefaultDOMBroker"/>
<argument ref="tracingPingPongDOMDataBroker"/>
+ <argument ref="adapterFactory"/>
</bean>
- <service ref="bindingTracingPingPongDataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
- odl:type="pingpong" ranking="10"/>
+ <bean id="tracingBindingDataBroker" factory-ref="wiring" factory-method="getTracingDataBroker" />
+ <service id="tracingBindingDataBrokerSvc" ref="tracingBindingDataBroker"
+ interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+ odl:type="default" ranking="10"/>
+
+ <bean id="bindingTracingPingPongDataBroker" factory-ref="wiring" factory-method="getTracingPingPongDataBroker" />
+ <service ref="bindingTracingPingPongDataBroker"
+ interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+ odl:type="pingpong" ranking="10"/>
</blueprint>