Class RequestService
java.lang.Object
org.qubership.atp.itf.lite.backend.service.CrudService<Request>
org.qubership.atp.itf.lite.backend.service.RequestService
- All Implemented Interfaces:
EntityHistoryService<Request>,IdentifiedService
@Service
public class RequestService
extends CrudService<Request>
implements EntityHistoryService<Request>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPostfixIfNameIsTaken(List<Request> folderRequests, Request request) Add postfix "Copy" if request with the same name already exists in folder.voidbulkDeleteRequests(RequestEntitiesBulkDelete requestEntitiesBulkDelete) Delete requests.voidcheckFilesSize(List<org.springframework.web.multipart.MultipartFile> files) Check files size.copyDictionary(UUID fromRequestId, UUID toRequestId) Copying diameter request dictionary if exists.copyRequest(UUID requestId, RequestEntityCopyRequest requestEntityCopyRequest) Copy request to different folder.voidcopyRequests(RequestEntitiesCopyRequest requestEntitiesCopyRequest) Copy set of requests to different folder.createRequest(RequestEntityCreateRequest requestCreationRequest) Create request.createRequest(Request request) Create request.createRequests(List<Request> requests) Create requests.voiddeleteRequest(UUID requestId) Delete request.editRequest(UUID requestId, RequestEntityEditRequest requestEntityCreateRequest) Edit request.voidencodeRequestParametersExceptEnv(List<RequestParam> parameters) Encode request parameters except environments.executeHttpRequest(UUID projectId, HttpRequestEntitySaveRequest httpRequest, String context, Optional<org.springframework.web.multipart.MultipartFile> binaryFile, SaveRequestResolvingContext resolvingContext, List<FileData> fileNameStreamMap, RequestRuntimeOptions runtimeOptions) Execute http request.executeRequest(RequestEntitySaveRequest request, String context, String token, UUID sseId, Optional<org.springframework.web.multipart.MultipartFile> file, UUID environmentId, List<FileData> fileDataList) Executing a request with saving the execution history.executeRequest(RequestEntitySaveRequest request, String context, String token, UUID sseId, Optional<org.springframework.web.multipart.MultipartFile> file, UUID environmentId, List<FileData> fileDataList, RequestRuntimeOptions runtimeOptions) Executing a request with saving the execution history.executeRequestWithRamAdapterLogging(ExecutionCollectionRequestExecuteRequest requestExecuteRequest, Request request, UUID environmentId) Execute request with RAM Adapter logging.exportRequest(UUID requestId, UUID environmentId, String context, List<ContextVariable> contextVariables) Export request to cURL format.generateAuthorizationHeader(RequestAuthorization authorization) Generate Authorization header by authorization type.generateAuthorizationParams(RequestAuthorization authorization) Generate Authorization params by authorization type.getAllRequests(UUID projectId, UUID folderId) Get all requests specified by project.getAllRequestsByProjectIdFolderIdsRequestIds(UUID projectId, Set<UUID> folderIds, Set<UUID> requestIds) Gets collection of requests by projectId, folderIds and requestIds.getByProjectIdAndSourceId(UUID projectId, UUID sourceId) getContext(UUID projectId, String context) Get ITF context by itf feign client.voidGet file from cache or gridfs by file id.Collects set of permission ids from requests.getPermissionFolderIdsByRequestIds(Set<UUID> requestIds) Collects set of permission ids from requests.getRequest(UUID requestId) Get request by specified identifier.getRequest(UUID requestId, UUID projectId) Get request by specified identifier.voidgetRequestBinaryFile(UUID requestId, javax.servlet.http.HttpServletResponse response) Get binary file from cache or gridfs by request id.getRequestByProjectIdAndRequestId(UUID projectId, UUID requestId) Get request by specified identifier and project id.getSettings(UUID requestId) Get request settings by specified identifier.importRequest(CurlStringImportRequest importRequest) Import cURL string to Request.booleanisRequestExists(UUID requestId) Check that request exists.moveRequest(UUID requestId, RequestEntityMoveRequest requestEntityMoveRequest) Move request to different folder.voidmoveRequests(RequestEntitiesMoveRequest requestEntityMoveRequest) Move requests to different folder.voidorder(UUID requestId, RequestOrderChangeRequest request) Change request order.prepareFormDataRequest(RequestBody requestBody, List<org.springframework.web.multipart.MultipartFile> files, UUID id, boolean isSnapshotFile) Remove old formDta files, add new files and set file UUIDs.processVelocity(UUID projectId, String content, String context) Substitutes parameters values from ITF if ITF feign client is enabled.resolveAllVariables(HttpRequest httpRequest, String context, Boolean isVelocityResolveRequired, UUID environmentId) Resolve variables in http request.voidresolveVelocityVariables(HttpRequest httpRequest, String context, Boolean isVelocityResolveRequired, HttpRequestEntitySaveRequest saveRequest) Resolve Velocity variables.voidretainFormData(RequestBody body, RequestBody bodyToSave, UUID id, boolean isSnapshot) Removes files what not used in request now.retrieveRuntimeOptions(UUID requestId) Retrieve options by requestId.Save request (and update folder children).saveFileToFileSystemAndGridFs(UUID requestId, org.springframework.web.multipart.MultipartFile file, TransportType transportType) Saves multipart file to file system and grid fs.saveRequest(UUID requestId, RequestEntitySaveRequest requestEntitySaveRequest, List<org.springframework.web.multipart.MultipartFile> files, Optional<FileBody> fileInfo) Save request.voidCalculate and set order for the request.voidupdateHeadersFields(List<RequestHeader> entities) Remove special symbols from headers entities names.voidupdateParametersFields(List<RequestParam> entities) Remove special symbols from parameter entities names.voidRemove special symbols from headers entities names.voidRemove special symbols from parameter entities names.voiduploadBinaryFile(UUID requestId, org.springframework.web.multipart.MultipartFile file) Upload binary file to cache and gridfs by request id.voidwriteResponseAsFile(UUID requestId, UUID executionId, javax.servlet.http.HttpServletResponse response) Get response as file.Methods inherited from class org.qubership.atp.itf.lite.backend.service.CrudService
delete, deleteByEntities, get, getAll, isEntityExists, saveAllMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.qubership.atp.itf.lite.backend.service.history.iface.EntityHistoryService
get
-
Constructor Details
-
RequestService
public RequestService()
-
-
Method Details
-
repository
- Specified by:
repositoryin classCrudService<Request>
-
restore
- Specified by:
restorein interfaceEntityHistoryService<Request>
-
save
Save request (and update folder children).- Overrides:
savein classCrudService<Request>- Parameters:
request- request to save- Returns:
- save request
-
getRequest
Get request by specified identifier.- Parameters:
requestId- request identifier- Returns:
- request
-
getRequest
Get request by specified identifier.- Parameters:
requestId- request identifierprojectId- project ID- Returns:
- request
-
generateAuthorizationHeader
@Nullable public RequestHeader generateAuthorizationHeader(@Nullable RequestAuthorization authorization) Generate Authorization header by authorization type.- Parameters:
authorization- authorization- Returns:
- authorization header
-
generateAuthorizationParams
Generate Authorization params by authorization type.- Parameters:
authorization- authorization- Returns:
- authorization params
-
getSettings
Get request settings by specified identifier.- Parameters:
requestId- request identifier- Returns:
- settings
-
getPermissionFolderIdsByRequestIds
Collects set of permission ids from requests. Need for PreAuthorize checks- Parameters:
requestIds- set of request ids- Returns:
- set of permission folder ids
-
getPermissionFolderIdsByIdsWithModifiedWhen
Collects set of permission ids from requests. Need for PreAuthorize checks- Parameters:
requestIds- set of request ids- Returns:
- set of permission folder ids
-
isRequestExists
Check that request exists.- Parameters:
requestId- request identifier- Returns:
- true or exception
-
getRequestBinaryFile
public void getRequestBinaryFile(UUID requestId, javax.servlet.http.HttpServletResponse response) throws IOException Get binary file from cache or gridfs by request id.- Parameters:
requestId- request id.response- http servlet for send response.- Throws:
IOException
-
getFile
public void getFile(UUID requestId, UUID fileId, javax.servlet.http.HttpServletResponse response) throws IOException Get file from cache or gridfs by file id.- Parameters:
requestId- request id.fileId- file id.response- http servlet for send response.- Throws:
IOException
-
writeResponseAsFile
public void writeResponseAsFile(UUID requestId, UUID executionId, javax.servlet.http.HttpServletResponse response) throws IOException Get response as file.- Parameters:
requestId- request id.executionId- execution id.response- http servlet for send response.- Throws:
IOException
-
uploadBinaryFile
Upload binary file to cache and gridfs by request id.- Parameters:
requestId- request id.file- file for upload.
-
getRequestByProjectIdAndRequestId
Get request by specified identifier and project id.- Parameters:
requestId- request identifier- Returns:
- request
-
getAllRequests
Get all requests specified by project.- Parameters:
projectId- project identifier- Returns:
- collection of requests
-
getAllRequestsByProjectIdFolderIdsRequestIds
public List<Request> getAllRequestsByProjectIdFolderIdsRequestIds(UUID projectId, Set<UUID> folderIds, Set<UUID> requestIds) Gets collection of requests by projectId, folderIds and requestIds.- Parameters:
projectId- project idfolderIds- folder idsrequestIds- request ids- Returns:
- collection of requests
-
createRequest
Create request.- Parameters:
requestCreationRequest- creation request- Returns:
- created request
-
createRequest
Create request. -
createRequests
Create requests. -
saveRequest
public Request saveRequest(UUID requestId, RequestEntitySaveRequest requestEntitySaveRequest, List<org.springframework.web.multipart.MultipartFile> files, Optional<FileBody> fileInfo) Save request.- Parameters:
requestId- request idrequestEntitySaveRequest- request datafileInfo- info about file- Returns:
- updated request
-
retainFormData
Removes files what not used in request now. -
checkFilesSize
Check files size.- Throws:
ItfLiteMaxFileException- for file with size > maxFileSize.
-
prepareFormDataRequest
public List<UUID> prepareFormDataRequest(RequestBody requestBody, List<org.springframework.web.multipart.MultipartFile> files, UUID id, boolean isSnapshotFile) Remove old formDta files, add new files and set file UUIDs. -
editRequest
Edit request. Request name will be updated.- Parameters:
requestId- request idrequestEntityCreateRequest- request data- Returns:
- edited request
-
copyRequest
Copy request to different folder.- Parameters:
requestEntityCopyRequest- request copy data- Returns:
- new request copied from request with provided id
-
copyRequests
Copy set of requests to different folder.- Parameters:
requestEntitiesCopyRequest- request copy data
-
copyDictionary
Copying diameter request dictionary if exists.- Parameters:
fromRequestId- source request idtoRequestId- target request id
-
moveRequest
Move request to different folder.- Parameters:
requestEntityMoveRequest- request copy data- Returns:
- updated request
-
moveRequests
Move requests to different folder.- Parameters:
requestEntityMoveRequest- request copy data
-
deleteRequest
Delete request.- Parameters:
requestId- request id
-
bulkDeleteRequests
Delete requests.- Parameters:
requestEntitiesBulkDelete- request with ids
-
addPostfixIfNameIsTaken
Add postfix "Copy" if request with the same name already exists in folder.- Parameters:
folderRequests- list of requests under folderrequest- request
-
exportRequest
public String exportRequest(UUID requestId, UUID environmentId, String context, List<ContextVariable> contextVariables) throws URISyntaxException Export request to cURL format.- Parameters:
requestId- request id- Returns:
- StringBuilder with cURL format request
- Throws:
URISyntaxException
-
importRequest
Import cURL string to Request.- Parameters:
importRequest- import request with requestId and curl string- Returns:
- Request
-
executeRequestWithRamAdapterLogging
public ExecuteStepResponse executeRequestWithRamAdapterLogging(ExecutionCollectionRequestExecuteRequest requestExecuteRequest, Request request, UUID environmentId) Execute request with RAM Adapter logging.- Parameters:
request- request
-
executeRequest
public RequestExecutionResponse executeRequest(RequestEntitySaveRequest request, String context, String token, UUID sseId, Optional<org.springframework.web.multipart.MultipartFile> file, UUID environmentId, List<FileData> fileDataList) throws Exception Executing a request with saving the execution history.- Parameters:
request- request- Returns:
- request execution response
- Throws:
Exception
-
executeRequest
public RequestExecutionResponse executeRequest(RequestEntitySaveRequest request, String context, String token, UUID sseId, Optional<org.springframework.web.multipart.MultipartFile> file, UUID environmentId, List<FileData> fileDataList, RequestRuntimeOptions runtimeOptions) throws Exception Executing a request with saving the execution history.- Parameters:
request- request- Returns:
- request execution response
- Throws:
Exception
-
executeHttpRequest
public RequestExecutionResponse executeHttpRequest(UUID projectId, HttpRequestEntitySaveRequest httpRequest, String context, Optional<org.springframework.web.multipart.MultipartFile> binaryFile, SaveRequestResolvingContext resolvingContext, List<FileData> fileNameStreamMap, RequestRuntimeOptions runtimeOptions) throws Exception Execute http request.- Parameters:
httpRequest- httpRequest- Returns:
- request execution response
- Throws:
Exception
-
saveFileToFileSystemAndGridFs
public Optional<FileBody> saveFileToFileSystemAndGridFs(UUID requestId, org.springframework.web.multipart.MultipartFile file, TransportType transportType) throws IOException Saves multipart file to file system and grid fs.- Parameters:
requestId- diameter request idfile- multipart file dictionary or binary- Throws:
IOException- could be during file system operations
-
processVelocity
public String processVelocity(UUID projectId, String content, String context) throws URISyntaxException Substitutes parameters values from ITF if ITF feign client is enabled.- Parameters:
content- string with itf variablescontext- context- Returns:
- Processed string with variables values
- Throws:
URISyntaxException
-
getContext
Get ITF context by itf feign client.- Parameters:
context- request string- Returns:
- context
- Throws:
URISyntaxException
-
resolveAllVariables
public HttpRequest resolveAllVariables(HttpRequest httpRequest, String context, Boolean isVelocityResolveRequired, UUID environmentId) throws URISyntaxException, org.qubership.atp.crypt.exception.AtpDecryptException Resolve variables in http request.- Parameters:
httpRequest- http requestcontext- itf context- Returns:
- http request with resolved variables
- Throws:
URISyntaxExceptionorg.qubership.atp.crypt.exception.AtpDecryptException
-
resolveVelocityVariables
public void resolveVelocityVariables(HttpRequest httpRequest, String context, Boolean isVelocityResolveRequired, HttpRequestEntitySaveRequest saveRequest) throws URISyntaxException Resolve Velocity variables.- Parameters:
httpRequest- http requestcontext- execution contextisVelocityResolveRequired- velocity resolve flagsaveRequest- save request- Throws:
URISyntaxException- possible exception
-
updateHeadersFields
Remove special symbols from headers entities names.- Parameters:
entities- list of entities
-
updateParametersFields
Remove special symbols from parameter entities names.- Parameters:
entities- list of entities
-
setOrder
Calculate and set order for the request. -
order
Change request order. -
updateSaveRequestHeadersFields
Remove special symbols from headers entities names.- Parameters:
entities- list of entities
-
updateSaveRequestParametersFields
Remove special symbols from parameter entities names.- Parameters:
entities- list of entities
-
getByProjectIdAndSourceId
-
encodeRequestParametersExceptEnv
Encode request parameters except environments.- Parameters:
parameters- request parameters that must be encoded
-
retrieveRuntimeOptions
Retrieve options by requestId.- Parameters:
requestId- request id- Returns:
- request options
-