@Override public List<Link> links(T resource, ResourceContext resourceContext) { LinksBuilder linksBuilder = resourceContext.links(); for (LinkDefinition<T> linkDefinition : linkDefinitions.get()) { if (linkDefinition.getCheckFn().test(resource, resourceContext)) { linksBuilder = linkDefinition.addLink(linksBuilder, resource, resourceContext); } } return linksBuilder.build(); }
@Override public List<Link> links(LDAPMapping resource, ResourceContext resourceContext) { return resourceContext.links() // Update .link(Link.UPDATE, MvcUriComponentsBuilder.on(LDAPController.class).getMappingUpdateForm(resource.getId())) // Delete .link(Link.DELETE, MvcUriComponentsBuilder.on(LDAPController.class).deleteMapping(resource.getId())) // OK .build(); } }
@Override public List<Link> links(CombinedIssueServiceConfiguration configuration, ResourceContext resourceContext) { return resourceContext.links() .self(on(CombinedIssueServiceController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(CombinedIssueServiceController.class).updateConfigurationForm(configuration.getName()), GlobalSettings.class) .link(Link.DELETE, on(CombinedIssueServiceController.class).deleteConfiguration(configuration.getName()), GlobalSettings.class) .build(); } }
@Override public List<Link> links(JIRAConfiguration configuration, ResourceContext resourceContext) { return resourceContext.links() .self(on(JIRAController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(JIRAController.class).updateConfigurationForm(configuration.getName())) .link(Link.DELETE, on(JIRAController.class).deleteConfiguration(configuration.getName())) .build(); } }
@Override public List<Link> links(JenkinsConfiguration configuration, ResourceContext resourceContext) { return resourceContext.links() .self(on(JenkinsController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(JenkinsController.class).updateConfigurationForm(configuration.getName())) .link(Link.DELETE, on(JenkinsController.class).deleteConfiguration(configuration.getName())) .build(); } }
@Override public List<Link> links(ArtifactoryConfiguration configuration, ResourceContext resourceContext) { return resourceContext.links() .self(on(ArtifactoryController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(ArtifactoryController.class).updateConfigurationForm(configuration.getName())) .link(Link.DELETE, on(ArtifactoryController.class).deleteConfiguration(configuration.getName())) .build(); } }
@Override public List<Link> links(GitHubEngineConfiguration configuration, ResourceContext resourceContext) { boolean globalSettingsGranted = securityService.isGlobalFunctionGranted(GlobalSettings.class); return resourceContext.links() .self(on(GitHubController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(GitHubController.class).updateConfigurationForm(configuration.getName()), globalSettingsGranted) .link(Link.DELETE, on(GitHubController.class).deleteConfiguration(configuration.getName()), globalSettingsGranted) // OK .build(); } }
@Override public List<Link> links(GitLabConfiguration configuration, ResourceContext resourceContext) { boolean globalSettingsGranted = securityService.isGlobalFunctionGranted(GlobalSettings.class); return resourceContext.links() .self(on(GitLabController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(GitLabController.class).updateConfigurationForm(configuration.getName()), globalSettingsGranted) .link(Link.DELETE, on(GitLabController.class).deleteConfiguration(configuration.getName()), globalSettingsGranted) // OK .build(); } }
@Override public List<Link> links(StashConfiguration configuration, ResourceContext resourceContext) { boolean globalSettingsGranted = securityService.isGlobalFunctionGranted(GlobalSettings.class); return resourceContext.links() .self(on(StashController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(StashController.class).updateConfigurationForm(configuration.getName()), globalSettingsGranted) .link(Link.DELETE, on(StashController.class).deleteConfiguration(configuration.getName()), globalSettingsGranted) // OK .build(); } }
@Override public List<Link> links(SVNConfiguration configuration, ResourceContext resourceContext) { boolean globalSettingsGranted = securityService.isGlobalFunctionGranted(GlobalSettings.class); return resourceContext.links() .self(on(SVNController.class).getConfiguration(configuration.getName())) .link(Link.UPDATE, on(SVNController.class).updateConfigurationForm(configuration.getName())) .link(Link.DELETE, on(SVNController.class).deleteConfiguration(configuration.getName())) // Indexation .link("_indexation", on(SVNController.class).getLastRevisionInfo(configuration.getName()), globalSettingsGranted) .link("_indexationFromLatest", on(SVNController.class).indexFromLatest(configuration.getName()), globalSettingsGranted) .link("_indexationFull", on(SVNController.class).full(configuration.getName()), globalSettingsGranted) // OK .build(); } }
@Override public List<Link> links(SVNChangeLog changeLog, ResourceContext resourceContext) { return resourceContext.links() .link("_revisions", on(SVNController.class).changeLogRevisions(changeLog.getUuid())) .link("_issues", on(SVNController.class).changeLogIssues(changeLog.getUuid()), changeLog.getRepository().getConfiguredIssueService() != null) .link("_files", on(SVNController.class).changeLogFiles(changeLog.getUuid())) .link("_changeLogFileFilters", on(SCMController.class).getChangeLogFileFilters(changeLog.getProject().getId())) .link("_diff", on(SVNController.class).diff(null)) .link("_exportFormats", on(SVNController.class).changeLogExportFormats(changeLog.getBranch().getId())) .link("_exportIssues", on(SVNController.class).changeLog(new IssueChangeLogExportRequest())) .page( "_page", "extension/svn/changelog?from=%d&to=%d", changeLog.getFrom().getBuild().id(), changeLog.getTo().getBuild().id() ) .build(); }