- @Parameter(description = "X-ECOMP-RequestID header",
- required = false) @HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
- @Parameter(description = "X-ECOMP-InstanceID header", required = true) @HeaderParam(
- value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
- @Parameter(description = "Determines the format of the body of the response",
- required = false) @HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
- @Parameter(description = "The username and password",
- required = true) @HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
- @Parameter(description = "The requested asset type",schema = @Schema(allowableValues = {"resources", "services"}),
- required = true) @PathParam("assetType") final String assetType,
- @Parameter(description = "The filter key (resourceType only for resources)",
- required = false) @QueryParam("category") String category,
- @Parameter(description = "The filter key (resourceType only for resources)",
- required = false) @QueryParam("subCategory") String subCategory,
- @Parameter(description = "The filter key (resourceType only for resources)",
- required = false) @QueryParam("distributionStatus") String distributionStatus,
- @Parameter(description = "The filter key (resourceType only for resources)",
- required = false) @QueryParam("resourceType") String resourceType) throws IOException {
-
- Response response = null;
- ResponseFormat responseFormat = null;
- String query = request.getQueryString();
- String requestURI = request.getRequestURI().endsWith("/")?
- removeDuplicateSlashSeparator(request.getRequestURI()): request.getRequestURI();
- String url = request.getMethod() + " " + requestURI;
+ @Parameter(description = "X-ECOMP-RequestID header") @HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @Parameter(description = "X-ECOMP-InstanceID header", required = true) @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @Parameter(description = "Determines the format of the body of the response") @HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @Parameter(description = "The username and password", required = true) @HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @Parameter(description = "The requested asset type", schema = @Schema(allowableValues = {"resources",
+ "services"}), required = true) @PathParam("assetType") final String assetType,
+
+ @Parameter(description = "The category to filter the result set on") @QueryParam("category") String category,
+ @Parameter(description = "The sub category to filter the result set on. Only applicable when assetType = resources") @QueryParam("subCategory") String subCategory,
+ @Parameter(description = "The distribution status to filter the result set on") @QueryParam("distributionStatus") String distributionStatus,
+ @Parameter(description = "The resource type to filter the result set on. Only applicable when assetType = resources") @QueryParam("resourceType") String resourceType,
+ @Parameter(description = "Additional metadata keys to include in the response, not all keys are supported.\nSupported keys: lastUpdateDate, creationDate, description, uniqueId and category specific metadata keys")
+ @QueryParam("include") List<String> additionalMetadataKeysToInclude,
+ @Parameter(description = "The version(s) to filter the result set on\n" +
+ "Syntax: /services?version=(highestMatchingVersionOnly|lessThan|greaterThan|equals)(:=)(value)",
+ examples = {
+ @ExampleObject(
+ name = "An example request to get each service with highest version",
+ value = "highestMatchingVersionOnly:true"),
+ @ExampleObject(
+ name = "An example request to get all services with version less than 2.1",
+ value = "lessThan:2.1"),
+ @ExampleObject(
+ name = "An example request to get all services with version equal 2.0",
+ value = "equals:2.0"),
+ @ExampleObject(
+ name = "An example request to get all services with version greater than 1.1",
+ value = "greaterThan:1.1")})
+ @QueryParam("version") String version,
+ @Parameter(description = "The keys of the metadata to include in the entries in the result set. Only applicable when assetType = services\n" +
+ "Only category specific metadata keys are supported\n" +
+ "Syntax: /services?metadata=<KEY1>(:=)<VALUE1>&metadata=<KEY2>(:=)<VALUE2> ...",
+ examples = {
+ @ExampleObject(
+ name = "An example request to get all services matching following Category Specific Metadata condition 'ETSI Version=3.3.1'",
+ value = "ETSI Version:3.3.1")})
+ @QueryParam("metadata") List<String> metadata) throws IOException {
+ ResponseFormat responseFormat;
+ final String query = request.getQueryString();
+ final String requestURI =
+ request.getRequestURI().endsWith("/") ? removeDuplicateSlashSeparator(request.getRequestURI()) : request.getRequestURI();
+ final String url = request.getMethod() + " " + requestURI;