X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fapi%2FRestconfService.java;h=f6c39bf8c5a3ac70d75b8490f01aa2c5dfe73bc7;hp=848f2c48ab10e2fb12ea4ca9c67481a5f65b6528;hb=4063669aa69554b0513aac11c7a4e20fa066fa06;hpb=acd7a3cdef79a6b1fdcf0f68d3beab7422f4e9c7 diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/api/RestconfService.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/api/RestconfService.java index 848f2c48ab..f6c39bf8c5 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/api/RestconfService.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/api/RestconfService.java @@ -16,8 +16,11 @@ import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import javax.ws.rs.Encoded; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import javax.ws.rs.core.UriInfo; import org.opendaylight.controller.sal.restconf.impl.StructuredData; import org.opendaylight.yangtools.yang.data.api.CompositeNode; @@ -55,11 +58,36 @@ public interface RestconfService { @GET @Path("/modules") - @Produces({Draft02.MediaTypes.API+JSON,Draft02.MediaTypes.API+XML}) + @Produces({Draft02.MediaTypes.API+XML, Draft02.MediaTypes.API+JSON, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) public StructuredData getModules(); + @GET + @Path("/modules/{identifier:.+}") + @Produces({Draft02.MediaTypes.API+XML, Draft02.MediaTypes.API+JSON, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) + public StructuredData getModules(@PathParam("identifier") String identifier); + + @GET + @Path("/modules/module/{identifier:.+}") + @Produces({Draft02.MediaTypes.API+XML, Draft02.MediaTypes.API+JSON, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) + public StructuredData getModule(@PathParam("identifier") String identifier); + + @GET + @Path("/operations") + @Produces({Draft02.MediaTypes.API+XML, Draft02.MediaTypes.API+JSON, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) + public StructuredData getOperations(); + + @GET + @Path("/operations/{identifier:.+}") + @Produces({Draft02.MediaTypes.API+XML, Draft02.MediaTypes.API+JSON, + MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) + public StructuredData getOperations(@PathParam("identifier") String identifier); + @POST - @Path("/operations/{identifier}") + @Path("/operations/{identifier:.+}") @Produces({Draft02.MediaTypes.OPERATION+JSON, Draft02.MediaTypes.OPERATION+XML, Draft02.MediaTypes.DATA+JSON, Draft02.MediaTypes.DATA+XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) @@ -69,7 +97,7 @@ public interface RestconfService { public StructuredData invokeRpc(@PathParam("identifier") String identifier, CompositeNode payload); @POST - @Path("/operations/{identifier}") + @Path("/operations/{identifier:.+}") @Produces({Draft02.MediaTypes.OPERATION+JSON, Draft02.MediaTypes.OPERATION+XML, Draft02.MediaTypes.DATA+JSON, Draft02.MediaTypes.DATA+XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) @@ -79,25 +107,25 @@ public interface RestconfService { @Path("/config/{identifier:.+}") @Produces({Draft02.MediaTypes.DATA+JSON,Draft02.MediaTypes.DATA+XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) - public StructuredData readConfigurationData(@PathParam("identifier") String identifier); + public StructuredData readConfigurationData(@Encoded @PathParam("identifier") String identifier); @GET @Path("/operational/{identifier:.+}") @Produces({Draft02.MediaTypes.DATA+JSON,Draft02.MediaTypes.DATA+XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) - public StructuredData readOperationalData(@PathParam("identifier") String identifier); + public StructuredData readOperationalData(@Encoded @PathParam("identifier") String identifier); @PUT @Path("/config/{identifier:.+}") @Consumes({Draft02.MediaTypes.DATA+JSON,Draft02.MediaTypes.DATA+XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) - public Response updateConfigurationData(@PathParam("identifier") String identifier, CompositeNode payload); + public Response updateConfigurationData(@Encoded @PathParam("identifier") String identifier, CompositeNode payload); @POST @Path("/config/{identifier:.+}") @Consumes({Draft02.MediaTypes.DATA+JSON,Draft02.MediaTypes.DATA+XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML}) - public Response createConfigurationData(@PathParam("identifier") String identifier, CompositeNode payload); + public Response createConfigurationData(@Encoded @PathParam("identifier") String identifier, CompositeNode payload); @POST @Path("/config") @@ -107,6 +135,10 @@ public interface RestconfService { @DELETE @Path("/config/{identifier:.+}") - public Response deleteConfigurationData(@PathParam("identifier") String identifier); + public Response deleteConfigurationData(@Encoded @PathParam("identifier") String identifier); + + @GET + @Path("/streams/stream/{identifier:.+}") + public Response subscribeToStream(@Encoded @PathParam("identifier") String identifier, @Context UriInfo uriInfo); }