Details
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java
index ff9c9fe..6595ca7 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java
@@ -110,22 +110,39 @@ public class CatalogResource extends JaxRsResourceBase {
this.subscriptionApi = subscriptionApi;
}
+ //
+ // We mark this resource as hidden from a swagger point of view and create another one with a different Path below
+ // to hack around the restrictions of having only one type of HTTP verb per Path
+ // see https://github.com/killbill/killbill/issues/913
+ //
@TimedResource
@GET
@Produces(TEXT_XML)
- @ApiOperation(value = "Retrieve the full catalog as XML", response = String.class)
+ @ApiOperation(value = "Retrieve the full catalog as XML", response = String.class, hidden = true)
@ApiResponses(value = {})
- public Response getCatalogXml(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
+ public Response getCatalogXmlOriginal(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
return Response.status(Status.OK).entity(XMLWriter.writeXML((VersionedCatalog) catalogUserApi.getCatalog(catalogName, tenantContext), VersionedCatalog.class)).build();
}
@TimedResource
+ @Path("/xml")
+ @GET
+ @Produces(TEXT_XML)
+ @ApiOperation(value = "Retrieve the full catalog as XML", response = String.class)
+ @ApiResponses(value = {})
+ public Response getCatalogXml(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
+ return getCatalogXmlOriginal(request);
+ }
+
+
+
+ @TimedResource
@POST
@Consumes(TEXT_XML)
- @ApiOperation(value = "Upload the full catalog as XML")
+ @ApiOperation(value = "Upload the full catalog as XML", hidden=true)
@ApiResponses(value = {})
- public Response uploadCatalogXml(final String catalogXML,
+ public Response uploadCatalogXmlOriginal(final String catalogXML,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
@@ -137,9 +154,25 @@ public class CatalogResource extends JaxRsResourceBase {
}
@TimedResource
+ @POST
+ @Path("/xml")
+ @Consumes(TEXT_XML)
+ @ApiOperation(value = "Upload the full catalog as XML")
+ @ApiResponses(value = {})
+ public Response uploadCatalogXml(final String catalogXML,
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment,
+ @javax.ws.rs.core.Context final HttpServletRequest request,
+ @javax.ws.rs.core.Context final UriInfo uriInfo) throws Exception {
+ return uploadCatalogXmlOriginal(catalogXML, createdBy, reason, comment, request, uriInfo);
+ }
+
+
+ @TimedResource
@GET
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve the catalog as JSON", response = StaticCatalog.class)
+ @ApiOperation(value = "Retrieve the catalog as JSON", responseContainer = "List", response = CatalogJson.class)
@ApiResponses(value = {})
public Response getCatalogJson(@QueryParam(QUERY_REQUESTED_DT) final String requestedDate,
@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
index ef77f0d..b7b9530 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
@@ -19,13 +19,9 @@ package org.killbill.billing.jaxrs.resources;
import java.util.List;
-import javax.annotation.Nullable;
-
import org.killbill.billing.util.api.AuditLevel;
-import org.killbill.billing.util.audit.AuditLog;
import com.google.common.base.Function;
-import com.google.common.base.Functions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import io.swagger.annotations.SwaggerDefinition;
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java
index 9292e62..576cd76 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/OverdueResource.java
@@ -80,27 +80,63 @@ public class OverdueResource extends JaxRsResourceBase {
this.overdueApi = overdueApi;
}
+ //
+ // We mark this resource as hidden from a swagger point of view and create another one with a different Path below
+ // to hack around the restrictions of having only one type of HTTP verb per Path
+ // see https://github.com/killbill/killbill/issues/913
+ //
@TimedResource
@GET
@Produces(TEXT_XML)
+ @ApiOperation(value = "Retrieve the overdue config as XML", response = String.class, hidden=true)
+ @ApiResponses(value = {})
+ public Response getOverdueConfigXmlOriginal(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
+ final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
+ return Response.status(Status.OK).entity(XMLWriter.writeXML((DefaultOverdueConfig) overdueApi.getOverdueConfig(tenantContext), DefaultOverdueConfig.class)).build();
+ }
+
+ @TimedResource
+ @GET
+ @Path("/xml")
+ @Produces(TEXT_XML)
@ApiOperation(value = "Retrieve the overdue config as XML", response = String.class)
@ApiResponses(value = {})
public Response getOverdueConfigXml(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
+ return getOverdueConfigXmlOriginal(request);
+ }
+
+
+
+ @TimedResource
+ @GET
+ @Produces(APPLICATION_JSON)
+ @ApiOperation(value = "Retrieve the overdue config as JSON", response = OverdueJson.class)
+ @ApiResponses(value = {})
+ public Response getOverdueConfigJson(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
- return Response.status(Status.OK).entity(XMLWriter.writeXML((DefaultOverdueConfig) overdueApi.getOverdueConfig(tenantContext), DefaultOverdueConfig.class)).build();
+ final OverdueConfig overdueConfig = overdueApi.getOverdueConfig(tenantContext);
+ final OverdueJson result = new OverdueJson(overdueConfig);
+ return Response.status(Status.OK).entity(result).build();
}
+
+
+ //
+ // We mark this resource as hidden from a swagger point of view and create another one with a different Path below
+ // to hack around the restrictions of having only one type of HTTP verb per Path
+ // see https://github.com/killbill/killbill/issues/913
+ //
@TimedResource
@POST
@Consumes(TEXT_XML)
- @ApiOperation(value = "Upload the full overdue config as XML")
+ @ApiOperation(value = "Upload the full overdue config as XML", hidden=true)
@ApiResponses(value = {})
- public Response uploadOverdueConfigXml(final String overdueXML,
- @HeaderParam(HDR_CREATED_BY) final String createdBy,
- @HeaderParam(HDR_REASON) final String reason,
- @HeaderParam(HDR_COMMENT) final String comment,
- @javax.ws.rs.core.Context final HttpServletRequest request,
- @javax.ws.rs.core.Context final UriInfo uriInfo) throws Exception {
+ public Response uploadOverdueConfigXmlOriginal(final String overdueXML,
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment,
+ @javax.ws.rs.core.Context final HttpServletRequest request,
+ @javax.ws.rs.core.Context final UriInfo uriInfo) throws Exception {
// Validation purpose: Will throw if bad XML or catalog validation fails
final InputStream stream = new ByteArrayInputStream(overdueXML.getBytes());
XMLLoader.getObjectFromStream(new URI(JaxrsResource.OVERDUE_PATH), stream, DefaultOverdueConfig.class);
@@ -111,17 +147,21 @@ public class OverdueResource extends JaxRsResourceBase {
}
@TimedResource
- @GET
- @Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve the overdue config as JSON", response = OverdueJson.class)
+ @POST
+ @Path("/xml")
+ @Consumes(TEXT_XML)
+ @ApiOperation(value = "Upload the full overdue config as XML")
@ApiResponses(value = {})
- public Response getOverdueConfigJson(@javax.ws.rs.core.Context final HttpServletRequest request) throws Exception {
- final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
- final OverdueConfig overdueConfig = overdueApi.getOverdueConfig(tenantContext);
- final OverdueJson result = new OverdueJson(overdueConfig);
- return Response.status(Status.OK).entity(result).build();
+ public Response uploadOverdueConfigXml(final String overdueXML,
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment,
+ @javax.ws.rs.core.Context final HttpServletRequest request,
+ @javax.ws.rs.core.Context final UriInfo uriInfo) throws Exception {
+ return uploadOverdueConfigXmlOriginal(overdueXML, createdBy, reason, comment, request, uriInfo);
}
+
@TimedResource
@POST
@Consumes(APPLICATION_JSON)