Source:
public Set<SourceFile> deleteTestParameterFiles(@ApiParam(hidden = true) @Auth User user, @ApiParam(value = "Tool to modify.", required = true) @PathParam("containerId") Long containerId, @ApiParam(value = "List of paths.", required = true) @QueryParam("testParameterPaths") List<String> testParameterPaths, @QueryParam("tagName") String tagName, @ApiParam(value = "Descriptor Type", required = true, allowableValues = "CWL, WDL") @QueryParam("descriptorType") String descriptorType) { Tool tool = toolDAO.findById(containerId); checkEntry(tool); checkNotHosted(tool); checkUserCanUpdate(user, tool); Optional<Tag> firstTag = tool.getWorkflowVersions().stream().filter((Tag v) -> v.getName().equals(tagName)).findFirst(); if (firstTag.isEmpty()) { LOG.info("The tag \'" + tagName + "\' for tool \'" + tool.getToolPath() + "\' does not exist."); throw new CustomWebApplicationException("The tag \'" + tagName + "\' for tool \'" + tool.getToolPath() + "\' does not exist.", HttpStatus.SC_BAD_REQUEST); } Tag tag = firstTag.get(); checkNotFrozen(tag); Set<SourceFile> sourceFiles = tag.getSourceFiles(); FileType fileType = (descriptorType.toUpperCase().equals(DescriptorType.CWL.toString())) ? DescriptorLanguage.FileType.CWL_TEST_JSON : DescriptorLanguage.FileType.WDL_TEST_JSON; for (String path : testParameterPaths) { boolean fileDeleted = sourceFiles.removeIf((SourceFile v) -> v.getPath().equals(path) && v.getType() == fileType); if (!fileDeleted) { throw new CustomWebApplicationException("There are no existing files with the path: " + path, HttpStatus.SC_NOT_FOUND); } } return tag.getSourceFiles(); }

Target:
public Set<SourceFile> deleteTestParameterFiles(@ApiParam(hidden = true) @Auth User user, @ApiParam(value = "Tool to modify.", required = true) @PathParam("containerId") Long containerId, @ApiParam(value = "List of paths.", required = true) @QueryParam("testParameterPaths") List<String> testParameterPaths, @QueryParam("tagName") String tagName, @ApiParam(value = "Descriptor Type", required = true, allowableValues = "CWL, WDL") @QueryParam("descriptorType") String descriptorType) { Tool tool = toolDAO.findById(containerId); checkEntry(tool); checkNotHosted(tool); checkUserCanUpdate(user, tool); Optional<Tag> firstTag = tool.getWorkflowVersions().stream().filter((Tag v) -> v.getName().equals(tagName)).findFirst(); if (firstTag.isEmpty()) { LOG.info("The tag \'" + tagName + "\' for tool \'" + tool.getToolPath() + "\' does not exist."); throw new CustomWebApplicationException("The tag \'" + tagName + "\' for tool \'" + tool.getToolPath() + "\' does not exist.", HttpStatus.SC_BAD_REQUEST); } Tag tag = firstTag.get(); checkNotFrozen(tag); Set<SourceFile> sourceFiles = tag.getSourceFiles(); FileType fileType = (descriptorType.toUpperCase().equals(DescriptorType.CWL.toString())) ? DescriptorLanguage.FileType.CWL_TEST_JSON : DescriptorLanguage.FileType.WDL_TEST_JSON; for (String path : testParameterPaths) { boolean fileDeleted = sourceFiles.removeIf((SourceFile v) -> v.getPath().equals(path) && v.getType() == fileType); if (!fileDeleted) { throw new CustomWebApplicationException("There are no existing test parameter files with the path: " + path, HttpStatus.SC_NOT_FOUND); } } return tag.getSourceFiles(); }