Bug 2365: YIN Schema download support for Restconf
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / rest / impl / RestconfApplication.java
index c9496af4c86d4838b6ee570e26b2b84ac8c34e26..9ab8fa84010753ee039b4a55c0a4104ebb0415a2 100644 (file)
@@ -11,6 +11,9 @@ import com.google.common.collect.ImmutableSet;
 import java.util.HashSet;
 import java.util.Set;
 import javax.ws.rs.core.Application;
+import org.opendaylight.controller.md.sal.rest.schema.SchemaExportContentYangBodyWriter;
+import org.opendaylight.controller.md.sal.rest.schema.SchemaExportContentYinBodyWriter;
+import org.opendaylight.controller.md.sal.rest.schema.SchemaRetrievalServiceImpl;
 import org.opendaylight.controller.sal.restconf.impl.BrokerFacade;
 import org.opendaylight.controller.sal.restconf.impl.ControllerContext;
 import org.opendaylight.controller.sal.restconf.impl.RestconfImpl;
@@ -26,20 +29,24 @@ public class RestconfApplication extends Application {
                 .add(JsonNormalizedNodeBodyReader.class)
                 .add(NormalizedNodeJsonBodyWriter.class)
                 .add(NormalizedNodeXmlBodyWriter.class)
+                .add(SchemaExportContentYinBodyWriter.class)
+                .add(SchemaExportContentYangBodyWriter.class)
                 .build();
     }
 
     @Override
     public Set<Object> getSingletons() {
-        Set<Object> singletons = new HashSet<>();
-        ControllerContext controllerContext = ControllerContext.getInstance();
-        BrokerFacade brokerFacade = BrokerFacade.getInstance();
-        RestconfImpl restconfImpl = RestconfImpl.getInstance();
+        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(StatisticsRestconfServiceWrapper.getInstance());
+        singletons.add(schemaRetrieval);
+        singletons.add(new RestconfCompositeWrapper(StatisticsRestconfServiceWrapper.getInstance(), schemaRetrieval));
         singletons.add(StructuredDataToXmlProvider.INSTANCE);
         singletons.add(StructuredDataToJsonProvider.INSTANCE);
         singletons.add(JsonToCompositeNodeProvider.INSTANCE);