2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.restconf.rest.services.impl;
10 import javax.ws.rs.core.UriInfo;
11 import org.opendaylight.netconf.md.sal.rest.schema.SchemaExportContext;
12 import org.opendaylight.netconf.sal.restconf.impl.NormalizedNodeContext;
13 import org.opendaylight.restconf.common.handlers.api.SchemaContextHandler;
14 import org.opendaylight.restconf.rest.handlers.api.DOMMountPointServiceHandler;
15 import org.opendaylight.restconf.rest.services.api.Draft11ServicesWrapper;
16 import org.opendaylight.restconf.rest.services.api.RestconfModulesService;
17 import org.opendaylight.restconf.rest.services.api.RestconfOperationsService;
18 import org.opendaylight.restconf.rest.services.api.RestconfSchemaService;
19 import org.opendaylight.restconf.rest.services.api.RestconfStreamsService;
22 * Implementation of {@link Draft11ServicesWrapper}
25 public class Draft11ServicesWrapperImpl implements Draft11ServicesWrapper {
27 private RestconfModulesService delegRestModService;
28 private RestconfOperationsService delegRestOpsService;
29 private RestconfStreamsService delegRestStrsService;
30 private RestconfSchemaService delegRestSchService;
32 private Draft11ServicesWrapperImpl() {
36 public NormalizedNodeContext getModules(final UriInfo uriInfo) {
37 return this.delegRestModService.getModules(uriInfo);
41 public NormalizedNodeContext getModules(final String identifier, final UriInfo uriInfo) {
42 return this.delegRestModService.getModules(identifier, uriInfo);
46 public NormalizedNodeContext getModule(final String identifier, final UriInfo uriInfo) {
47 return this.delegRestModService.getModule(identifier, uriInfo);
51 public NormalizedNodeContext getOperations(final UriInfo uriInfo) {
52 return this.delegRestOpsService.getOperations(uriInfo);
56 public NormalizedNodeContext getOperations(final String identifier, final UriInfo uriInfo) {
57 return this.delegRestOpsService.getOperations(identifier, uriInfo);
61 public NormalizedNodeContext getAvailableStreams(final UriInfo uriInfo) {
62 return this.delegRestStrsService.getAvailableStreams(uriInfo);
66 public SchemaExportContext getSchema(final String mountAndModuleId) {
67 return this.delegRestSchService.getSchema(mountAndModuleId);
70 public static Draft11ServicesWrapperImpl getInstance() {
71 return InstanceHolder.INSTANCE;
74 private static class InstanceHolder {
75 public static final Draft11ServicesWrapperImpl INSTANCE = new Draft11ServicesWrapperImpl();
78 public void setHandlers(final SchemaContextHandler schemaCtxHandler,
79 final DOMMountPointServiceHandler domMountPointServiceHandler) {
80 this.delegRestModService = new RestconfModulesServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
81 this.delegRestOpsService = new RestconfOperationsServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
82 this.delegRestSchService = new RestconfSchemaServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
83 this.delegRestStrsService = new RestconfStreamsServiceImpl(schemaCtxHandler);