import org.opendaylight.restconf.rest.api.services.RestconfOperationsService;
import org.opendaylight.restconf.rest.api.services.RestconfStreamsService;
import org.opendaylight.restconf.rest.api.services.schema.RestconfSchemaService;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.restconf.rest.handlers.api.DOMMountPointServiceHandler;
/**
* Implementation of {@link Draft11ServicesWrapper}
*/
public class Draft11ServicesWrapperImpl implements Draft11ServicesWrapper {
- private final RestconfModulesService delegRestModSer;
- private final RestconfOperationsService delegRestOpsSer;
- private final RestconfStreamsService delegRestStrsSer;
- private final RestconfSchemaService delegRestSchSer;
+ private RestconfModulesService delegRestModService;
+ private RestconfOperationsService delegRestOpsService;
+ private RestconfStreamsService delegRestStrsService;
+ private RestconfSchemaService delegRestSchService;
- /**
- * Creating delegates to all implemented services
- *
- * @param schemaContextHandler
- * - for handling {@link SchemaContext}
- */
- public Draft11ServicesWrapperImpl(final SchemaContextHandler schemaContextHandler) {
- this.delegRestModSer = new RestconfModulesServiceImpl(schemaContextHandler);
- this.delegRestOpsSer = new RestconfOperationsServiceImpl(schemaContextHandler);
- this.delegRestStrsSer = new RestconfStreamsServiceImpl(schemaContextHandler);
- this.delegRestSchSer = new RestconfSchemaServiceImpl(schemaContextHandler);
+ private Draft11ServicesWrapperImpl() {
}
@Override
public NormalizedNodeContext getModules(final UriInfo uriInfo) {
- return this.delegRestModSer.getModules(uriInfo);
+ return this.delegRestModService.getModules(uriInfo);
}
@Override
public NormalizedNodeContext getModules(final String identifier, final UriInfo uriInfo) {
- return this.delegRestModSer.getModules(identifier, uriInfo);
+ return this.delegRestModService.getModules(identifier, uriInfo);
}
@Override
public NormalizedNodeContext getModule(final String identifier, final UriInfo uriInfo) {
- return this.delegRestModSer.getModules(identifier, uriInfo);
+ return this.delegRestModService.getModule(identifier, uriInfo);
}
@Override
public NormalizedNodeContext getOperations(final UriInfo uriInfo) {
- return this.delegRestOpsSer.getOperations(uriInfo);
+ return this.delegRestOpsService.getOperations(uriInfo);
}
@Override
public NormalizedNodeContext getOperations(final String identifier, final UriInfo uriInfo) {
- return this.delegRestOpsSer.getOperations(identifier, uriInfo);
+ return this.delegRestOpsService.getOperations(identifier, uriInfo);
}
@Override
public NormalizedNodeContext getAvailableStreams(final UriInfo uriInfo) {
- return this.delegRestStrsSer.getAvailableStreams(uriInfo);
+ return this.delegRestStrsService.getAvailableStreams(uriInfo);
}
@Override
public SchemaExportContext getSchema(final String mountAndModuleId) {
- return this.delegRestSchSer.getSchema(mountAndModuleId);
+ return this.delegRestSchService.getSchema(mountAndModuleId);
+ }
+
+ public static Draft11ServicesWrapperImpl getInstance() {
+ return InstanceHolder.INSTANCE;
+ }
+
+ private static class InstanceHolder {
+ public static final Draft11ServicesWrapperImpl INSTANCE = new Draft11ServicesWrapperImpl();
+ }
+
+ public void setHandlers(final SchemaContextHandler schemaCtxHandler,
+ final DOMMountPointServiceHandler domMountPointServiceHandler) {
+ this.delegRestModService = new RestconfModulesServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
+ this.delegRestOpsService = new RestconfOperationsServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
+ this.delegRestSchService = new RestconfSchemaServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
+ this.delegRestStrsService = new RestconfStreamsServiceImpl(schemaCtxHandler);
}
}