public class RemoteVersionLinkServiceImpl extends AbstractRemoteEntityLinkService implements RemoteVersionLinkService
RemoteVersionLinkService.DeleteValidationResult, RemoteVersionLinkService.PutValidationResult, RemoteVersionLinkService.RemoteVersionLinkListResult, RemoteVersionLinkService.RemoteVersionLinkResult
Modifier and Type | Field and Description |
---|---|
static String |
REMOTE_VERSION_LINK
Entity name
|
entityName, jsonEntityPropertyManager, MSG_APPLICATION_NAME, MSG_APPLICATION_TYPE, MSG_DOES_NOT_EXIST, MSG_ERROR_CREATING, MSG_ERROR_REMOVING, MSG_ERROR_UPDATING, MSG_FIELD_TOO_LONG, MSG_GLOBAL_ID, MSG_INVALID_JSON, MSG_INVALID_URI, MSG_IS_REQUIRED, MSG_TITLE, MSG_URL
Constructor and Description |
---|
RemoteVersionLinkServiceImpl(JsonEntityPropertyManager jsonEntityPropertyManager,
PermissionManager permissionManager,
VersionManager versionManager,
com.atlassian.event.api.EventPublisher eventPublisher,
I18nHelper.BeanFactory i18nFactory) |
Modifier and Type | Method and Description |
---|---|
void |
delete(ApplicationUser user,
RemoteVersionLinkService.DeleteValidationResult deleteValidationResult)
Deletes the remote version link that links with the given JIRA version and has the given global id, if the current
user has permission to do so.
|
RemoteVersionLinkService.RemoteVersionLinkResult |
getRemoteVersionLinkByVersionIdAndGlobalId(ApplicationUser user,
Long versionId,
String globalId)
Retrieves the remote version link that links with the given JIRA version and has the given globalId.
|
Long |
getRemoteVersionLinkCountByGlobalId(String globalId)
Retrieves the count of remote version links that are associated with the given remote resource.
|
RemoteVersionLinkService.RemoteVersionLinkListResult |
getRemoteVersionLinksByGlobalId(ApplicationUser user,
String globalId)
Retrieves the remote version links that are associated with the given remote resource.
|
RemoteVersionLinkService.RemoteVersionLinkListResult |
getRemoteVersionLinksByVersionId(ApplicationUser user,
Long versionId)
Retrieves all of the remote version links that link with the given JIRA version.
|
void |
onVersionDeleted(VersionDeleteEvent event) |
RemoteVersionLinkService.RemoteVersionLinkResult |
put(ApplicationUser user,
RemoteVersionLinkService.PutValidationResult putValidationResult)
Creates a remote version link using the validated request returned by a prior call to
RemoteVersionLinkService.validatePut(ApplicationUser, Long, String, String) |
RemoteVersionLinkService.DeleteValidationResult |
validateDelete(ApplicationUser user,
Long versionId,
String globalId)
Validates parameters and checks permissions, and if all checks pass it will create a
RemoteVersionLinkService.DeleteValidationResult that can be passed to the
RemoteVersionLinkService.delete(ApplicationUser, DeleteValidationResult) method to delete the specified
remote version link. |
RemoteVersionLinkService.DeleteValidationResult |
validateDeleteByVersionId(ApplicationUser user,
Long versionId)
Validates parameters and checks permissions, and if all checks pass it will create a
RemoteVersionLinkService.DeleteValidationResult that can be passed to the
RemoteVersionLinkService.delete(ApplicationUser, DeleteValidationResult) method to delete all remote version
links for the specified version. |
RemoteVersionLinkService.PutValidationResult |
validatePut(ApplicationUser user,
Long versionId,
String globalId,
String json)
Validates parameters and checks permissions, and if all checks pass it will create a
RemoteVersionLinkService.PutValidationResult that can be passed to the
RemoteVersionLinkService.put(ApplicationUser, PutValidationResult) method. |
getEntityPropertyValue, putEntityPropertyDryRun, putEntityPropertyValue, verifyNotBlank, verifyNotNull
public static final String REMOTE_VERSION_LINK
public RemoteVersionLinkServiceImpl(JsonEntityPropertyManager jsonEntityPropertyManager, PermissionManager permissionManager, VersionManager versionManager, com.atlassian.event.api.EventPublisher eventPublisher, I18nHelper.BeanFactory i18nFactory)
public RemoteVersionLinkService.RemoteVersionLinkListResult getRemoteVersionLinksByVersionId(ApplicationUser user, Long versionId)
RemoteVersionLinkService
getRemoteVersionLinksByVersionId
in interface RemoteVersionLinkService
user
- user who the permission checks will be run against (may be null
, indicating
an anonymous user).versionId
- the ID of the version to get the remote version links forList
of RemoteVersionLink
s if all went well.
If no remote version links are stored against the version, then the list will be empty.
If there was an error, the remote version links list will be null
and the error
collection will contain details of what went wrong. Some possible error cases include
the given version not existing, or the user not having
Permissions.BROWSE
permission for the version's project.public RemoteVersionLinkService.RemoteVersionLinkListResult getRemoteVersionLinksByGlobalId(ApplicationUser user, String globalId)
RemoteVersionLinkService
getRemoteVersionLinksByGlobalId
in interface RemoteVersionLinkService
user
- user who the permission checks will be run against (may be null
, indicating
an anonymous user).globalId
- the globalId to get the remote version links forList
of RemoteVersionLink
s if all went well.
If no remote version links are stored against the global ID, then the list will be empty.
If there was an error, the remote version links list will be null
and the error
collection will contain details of what went wrong.public Long getRemoteVersionLinkCountByGlobalId(String globalId)
RemoteVersionLinkService
getRemoteVersionLinkCountByGlobalId
in interface RemoteVersionLinkService
globalId
- the globalId to get the remote version links forRemoteVersionLink
s associated with the given remote resource global id.public RemoteVersionLinkService.RemoteVersionLinkResult getRemoteVersionLinkByVersionIdAndGlobalId(ApplicationUser user, Long versionId, String globalId)
RemoteVersionLinkService
getRemoteVersionLinkByVersionIdAndGlobalId
in interface RemoteVersionLinkService
user
- user who the permission checks will be run against (may be null
, indicating
an anonymous user).versionId
- the ID of the version to get the remote version link forglobalId
- the globalId to get the remote version link forRemoteVersionLink
if all went well.
If there was an error the remote version link will be null
and the error
collection will contain details of what went wrong. Some possible error cases include
a remote version link with the given globalId
not existing or the user not having
Permissions.BROWSE
permission for the version's project.public RemoteVersionLinkService.PutValidationResult validatePut(ApplicationUser user, Long versionId, String globalId, String json)
RemoteVersionLinkService
RemoteVersionLinkService.PutValidationResult
that can be passed to the
RemoteVersionLinkService.put(ApplicationUser, PutValidationResult)
method.
If any validation fails the result will contain a null
String
.
validatePut
in interface RemoteVersionLinkService
user
- user who the permission checks will be run against (may be null
, indicating
an anonymous user).versionId
- the ID of the version for which to create/update this remote version linkglobalId
- the global id to associate with the remote version link. If this is null
,
then the JSON value will be checked for a field with RemoteEntityLink.GLOBAL_ID
as the key. If that does not exist, then a new global ID is generated. After a
successful call to RemoteVersionLinkService.put(ApplicationUser, PutValidationResult)
, the
RemoteVersionLinkService.RemoteVersionLinkResult
that it returns can be used to obtain the newly
created RemoteVersionLink
json
- the JSON representation of the remote version linkRemoteVersionLinkService.PutValidationResult
. If all validation and permission checks pass, then it
will contain the information required to create the link; otherwise, the result will
contain an error collection with any error messages that may have been generated when
performing the operation.public RemoteVersionLinkService.RemoteVersionLinkResult put(ApplicationUser user, RemoteVersionLinkService.PutValidationResult putValidationResult)
RemoteVersionLinkService
RemoteVersionLinkService.validatePut(ApplicationUser, Long, String, String)
put
in interface RemoteVersionLinkService
user
- user who the permission checks will be run against (may be null
,
indicating an anonymous user).putValidationResult
- contains the remote version link to store. This should have been
created by the RemoteVersionLinkService.validatePut(ApplicationUser, Long, String, String)
method.
The result must be valid
.String
if all went well.
If there was an error creating the remote version link then the remote version link
will be null
and the error collection will contain details of what went wrong.public RemoteVersionLinkService.DeleteValidationResult validateDelete(ApplicationUser user, Long versionId, String globalId)
RemoteVersionLinkService
RemoteVersionLinkService.DeleteValidationResult
that can be passed to the
RemoteVersionLinkService.delete(ApplicationUser, DeleteValidationResult)
method to delete the specified
remote version link.validateDelete
in interface RemoteVersionLinkService
user
- who the permission checks will be run against (can be null, indicating an anonymous user).versionId
- the ID of the version associated with the remote version link to be deletedglobalId
- the global id associated with the remote version link to be deletedpublic RemoteVersionLinkService.DeleteValidationResult validateDeleteByVersionId(ApplicationUser user, Long versionId)
RemoteVersionLinkService
RemoteVersionLinkService.DeleteValidationResult
that can be passed to the
RemoteVersionLinkService.delete(ApplicationUser, DeleteValidationResult)
method to delete all remote version
links for the specified version.validateDeleteByVersionId
in interface RemoteVersionLinkService
user
- who the permission checks will be run against (can be null, indicating an anonymous user).versionId
- the version associated with the remote version links to be deletedpublic void delete(ApplicationUser user, RemoteVersionLinkService.DeleteValidationResult deleteValidationResult)
RemoteVersionLinkService
delete
in interface RemoteVersionLinkService
user
- user user who the permission checks will be run against (can be null, indicating an anonymous user).deleteValidationResult
- contains the remote version link id to delete. This should have been
created by one of the validateDeleteBy...
methods. The result must be
valid
.@EventListener public void onVersionDeleted(VersionDeleteEvent event)
Copyright © 2002-2021 Atlassian. All Rights Reserved.