Skip to content

Commit

Permalink
use correct wildcard for mandatory path parameters
Browse files Browse the repository at this point in the history
Fixes: openhab#1217

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
  • Loading branch information
maggu2810 committed Nov 17, 2019
1 parent d51d6d2 commit 0bc1a30
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ public Response getTypes(@HeaderParam("Accept-Language") @ApiParam(value = "lang
}

@GET
@Path("/{extensionId: [a-zA-Z_0-9-]*}")
@Path("/{extensionId: [a-zA-Z_0-9-]+}")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Get extension with given ID.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = String.class),
Expand All @@ -157,7 +157,7 @@ public Response getById(@HeaderParam("Accept-Language") @ApiParam(value = "langu
}

@POST
@Path("/{extensionId: [a-zA-Z_0-9-:]*}/install")
@Path("/{extensionId: [a-zA-Z_0-9-:]+}/install")
@ApiOperation(value = "Installs the extension with the given ID.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK") })
public Response installExtension(
Expand Down Expand Up @@ -194,7 +194,7 @@ public Response installExtensionByURL(
}

@POST
@Path("/{extensionId: [a-zA-Z_0-9-:]*}/uninstall")
@Path("/{extensionId: [a-zA-Z_0-9-:]+}/uninstall")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK") })
public Response uninstallExtension(
final @PathParam("extensionId") @ApiParam(value = "extension ID", required = true) String extensionId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ public Response getItems(

@GET
@RolesAllowed({ Role.USER, Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}")
@Path("/{itemname: [a-zA-Z_0-9]+}")
@Produces({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Gets a single item.", response = EnrichedItemDTO.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = EnrichedItemDTO.class),
Expand Down Expand Up @@ -276,7 +276,7 @@ private Set<String> splitAndFilterNamespaces(@Nullable String namespaceSelector,
*/
@GET
@RolesAllowed({ Role.USER, Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}/state")
@Path("/{itemname: [a-zA-Z_0-9]+}/state")
@Produces(MediaType.TEXT_PLAIN)
@ApiOperation(value = "Gets the state of an item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = String.class),
Expand All @@ -301,7 +301,7 @@ public Response getPlainItemState(

@PUT
@RolesAllowed({ Role.USER, Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}/state")
@Path("/{itemname: [a-zA-Z_0-9]+}/state")
@Consumes(MediaType.TEXT_PLAIN)
@ApiOperation(value = "Updates the state of an item.")
@ApiResponses(value = { @ApiResponse(code = 202, message = "Accepted"),
Expand Down Expand Up @@ -341,7 +341,7 @@ public Response putItemState(

@POST
@RolesAllowed({ Role.USER, Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}")
@Path("/{itemname: [a-zA-Z_0-9]+}")
@Consumes(MediaType.TEXT_PLAIN)
@ApiOperation(value = "Sends a command to an item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
Expand Down Expand Up @@ -388,7 +388,7 @@ public Response postItemCommand(

@PUT
@RolesAllowed({ Role.ADMIN })
@Path("/{itemName: [a-zA-Z_0-9]*}/members/{memberItemName: [a-zA-Z_0-9]*}")
@Path("/{itemName: [a-zA-Z_0-9]+}/members/{memberItemName: [a-zA-Z_0-9]+}")
@ApiOperation(value = "Adds a new member to a group item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 404, message = "Item or member item not found or item is not of type group item."),
Expand Down Expand Up @@ -426,7 +426,7 @@ public Response addMember(@PathParam("itemName") @ApiParam(value = "item name",

@DELETE
@RolesAllowed({ Role.ADMIN })
@Path("/{itemName: [a-zA-Z_0-9]*}/members/{memberItemName: [a-zA-Z_0-9]*}")
@Path("/{itemName: [a-zA-Z_0-9]+}/members/{memberItemName: [a-zA-Z_0-9]+}")
@ApiOperation(value = "Removes an existing member from a group item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 404, message = "Item or member item not found or item is not of type group item."),
Expand Down Expand Up @@ -464,7 +464,7 @@ public Response removeMember(@PathParam("itemName") @ApiParam(value = "item name

@DELETE
@RolesAllowed({ Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}")
@Path("/{itemname: [a-zA-Z_0-9]+}")
@ApiOperation(value = "Removes an item from the registry.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 404, message = "Item not found or item is not editable.") })
Expand All @@ -478,7 +478,7 @@ public Response removeItem(@PathParam("itemname") @ApiParam(value = "item name",

@PUT
@RolesAllowed({ Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}/tags/{tag}")
@Path("/{itemname: [a-zA-Z_0-9]+}/tags/{tag}")
@ApiOperation(value = "Adds a tag to an item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 404, message = "Item not found."),
Expand All @@ -504,7 +504,7 @@ public Response addTag(@PathParam("itemname") @ApiParam(value = "item name", req

@DELETE
@RolesAllowed({ Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}/tags/{tag}")
@Path("/{itemname: [a-zA-Z_0-9]+}/tags/{tag}")
@ApiOperation(value = "Removes a tag from an item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 404, message = "Item not found."),
Expand All @@ -530,7 +530,7 @@ public Response removeTag(@PathParam("itemname") @ApiParam(value = "item name",

@PUT
@RolesAllowed({ Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}/metadata/{namespace}")
@Path("/{itemname: [a-zA-Z_0-9]+}/metadata/{namespace}")
@Consumes(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Adds metadata to an item.")
@ApiResponses(value = { //
Expand Down Expand Up @@ -570,7 +570,7 @@ public Response addMetadata(@PathParam("itemname") @ApiParam(value = "item name"

@DELETE
@RolesAllowed({ Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}/metadata/{namespace}")
@Path("/{itemname: [a-zA-Z_0-9]+}/metadata/{namespace}")
@ApiOperation(value = "Removes metadata from an item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 404, message = "Item not found."),
Expand Down Expand Up @@ -610,7 +610,7 @@ public Response removeMetadata(
*/
@PUT
@RolesAllowed({ Role.ADMIN })
@Path("/{itemname: [a-zA-Z_0-9]*}")
@Path("/{itemname: [a-zA-Z_0-9]+}")
@Consumes(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Adds a new item to the registry or updates the existing item.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = String.class),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ public Response httpGetPersistenceServiceItems(@Context HttpHeaders headers,

@GET
@RolesAllowed({ Role.USER, Role.ADMIN })
@Path("/items/{itemname: [a-zA-Z_0-9]*}")
@Path("/items/{itemname: [a-zA-Z_0-9]+}")
@Produces({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Gets item persistence data from the persistence service.", response = ItemHistoryDTO.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ItemHistoryDTO.class),
Expand All @@ -184,7 +184,7 @@ public Response httpGetPersistenceItemData(@Context HttpHeaders headers,

@DELETE
@RolesAllowed({ Role.ADMIN })
@Path("/items/{itemname: [a-zA-Z_0-9]*}")
@Path("/items/{itemname: [a-zA-Z_0-9]+}")
@Produces({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Delete item data from a specific persistence service.", response = String.class, responseContainer = "List")
@ApiResponses(value = {
Expand All @@ -203,7 +203,7 @@ public Response httpDeletePersistenceServiceItem(@Context HttpHeaders headers,

@PUT
@RolesAllowed({ Role.ADMIN })
@Path("/items/{itemname: [a-zA-Z_0-9]*}")
@Path("/items/{itemname: [a-zA-Z_0-9]+}")
@Produces({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Stores item persistence data into the persistence service.", response = ItemHistoryDTO.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ItemHistoryDTO.class),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ public Response getSitemaps() {
}

@GET
@Path("/{sitemapname: [a-zA-Z_0-9]*}")
@Path("/{sitemapname: [a-zA-Z_0-9]+}")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Get sitemap by name.", response = SitemapDTO.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK") })
Expand All @@ -248,7 +248,7 @@ public Response getSitemapData(@Context HttpHeaders headers,
}

@GET
@Path("/{sitemapname: [a-zA-Z_0-9]*}/{pageid: [a-zA-Z_0-9]*}")
@Path("/{sitemapname: [a-zA-Z_0-9]+}/{pageid: [a-zA-Z_0-9]+}")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Polls the data for a sitemap.", response = PageDTO.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
Expand Down Expand Up @@ -317,7 +317,7 @@ public Object createEventSubscription() {
* connection.
*/
@GET
@Path(SEGMENT_EVENTS + "/{subscriptionid: [a-zA-Z_0-9-]*}/")
@Path(SEGMENT_EVENTS + "/{subscriptionid: [a-zA-Z_0-9-]+}/")
@Produces(SseFeature.SERVER_SENT_EVENTS)
@ApiOperation(value = "Get sitemap events.", response = EventOutput.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public Response getInterpreters(
}

@GET
@Path("/interpreters/{id: [a-zA-Z_0-9]*}")
@Path("/interpreters/{id: [a-zA-Z_0-9]+}")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Gets a single interpreter.", response = HumanLanguageInterpreterDTO.class)
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
Expand All @@ -126,7 +126,7 @@ public Response getInterpreter(
}

@POST
@Path("/interpreters/{id: [a-zA-Z_0-9]*}")
@Path("/interpreters/{id: [a-zA-Z_0-9]+}")
@Consumes(MediaType.TEXT_PLAIN)
@ApiOperation(value = "Sends a text to a given human language interpreter.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
Expand Down

0 comments on commit 0bc1a30

Please sign in to comment.