import org.opendaylight.netconf.md.sal.rest.schema.SchemaRetrievalServiceImpl;
import org.opendaylight.netconf.sal.restconf.impl.BrokerFacade;
import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.RestconfImpl;
import org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper;
public class RestconfApplication extends Application {
+ private final ControllerContext controllerContext;
+ private final BrokerFacade brokerFacade;
+ private final StatisticsRestconfServiceWrapper statsServiceWrapper;
+
+ public RestconfApplication(ControllerContext controllerContext, BrokerFacade brokerFacade,
+ StatisticsRestconfServiceWrapper statsServiceWrapper) {
+ this.controllerContext = controllerContext;
+ this.brokerFacade = brokerFacade;
+ this.statsServiceWrapper = statsServiceWrapper;
+ }
@Override
public Set<Class<?>> getClasses() {
@Override
public Set<Object> getSingletons() {
final Set<Object> singletons = new HashSet<>();
- final ControllerContext controllerContext = ControllerContext.getInstance();
- final BrokerFacade brokerFacade = BrokerFacade.getInstance();
- final RestconfImpl restconfImpl = RestconfImpl.getInstance();
final SchemaRetrievalServiceImpl schemaRetrieval = new SchemaRetrievalServiceImpl(controllerContext);
- restconfImpl.setBroker(brokerFacade);
- restconfImpl.setControllerContext(controllerContext);
singletons.add(controllerContext);
singletons.add(brokerFacade);
singletons.add(schemaRetrieval);
- singletons.add(new RestconfCompositeWrapper(StatisticsRestconfServiceWrapper.getInstance(), schemaRetrieval));
+ singletons.add(new RestconfCompositeWrapper(statsServiceWrapper, schemaRetrieval));
singletons.add(new RestconfDocumentedExceptionMapper(controllerContext));
singletons.add(new XmlNormalizedNodeBodyReader(controllerContext));
singletons.add(new JsonNormalizedNodeBodyReader(controllerContext));